国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python使用ftplib實現簡易FTP客戶端的方法

2019-11-25 17:19:44
字體:
來源:轉載
供稿:網友

本文實例講述了Python使用ftplib實現簡易FTP客戶端的方法。分享給大家供大家參考。具體實現方法如下:

#!/usr/bin/python #-*- coding:utf-8 -*- from ftplib import FTP   #加載ftp模塊 ftp=FTP()          #設置變量 ftp.set_debuglevel(2)    #打開調試級別2,顯示詳細信息 ftp.connect("IP","port")  #連接的ftp sever和端口 ftp.login("user","password")#連接的用戶名,密碼 print ftp.getwelcome()   #打印出歡迎信息 ftp.cmd("xxx/xxx")     #更改遠程目錄 bufsize=1024        #設置的緩沖區大小 filename="filename.txt"   #需要下載的文件 file_handle=open(filename,"wb").write#以寫模式在本地打開文件 ftp.retrbinaly("RETR filename.txt",file_handle,bufsize)#接收服務器上文件并寫入本地文件 ftp.set_debuglevel(0)    #關閉調試模式 ftp.quit          #退出ftp ftp.dir()          #顯示目錄下文件信息 ftp.mkd(pathname)      #新建遠程目錄 ftp.pwd()          #返回當前所在位置 ftp.rmd(dirname)      #刪除遠程目錄 ftp.delete(filename)    #刪除遠程文件 ftp.rename(fromname, toname)#將fromname修改名稱為toname。 ftp.storbinaly("STOR filename.txt",file_handel,bufsize) #上傳目標文件

一個FTP完整實例:

#coding:utf-8 from ctypes import * import os import sys import ftplib class myFtp:   ftp = ftplib.FTP()   bIsDir = False   path = ""   def __init__(self, host, port='21'):     self.ftp.set_debuglevel(2) #打開調試級別2,顯示詳細信息      #self.ftp.set_pasv(0)  #0主動模式 1 #被動模式     self.ftp.connect( host, port )   def Login(self, user, passwd ):     self.ftp.login( user, passwd )     print self.ftp.welcome   def DownLoadFile( self, LocalFile, RemoteFile ):     file_handler = open( LocalFile, 'wb' )     self.ftp.retrbinary( "RETR %s" %( RemoteFile ), file_handler.write )      file_handler.close()     return True   def UpLoadFile( self, LocalFile, RemoteFile ):     if os.path.isfile( LocalFile ) == False:       return False     file_handler = open( LocalFile, "rb" )     self.ftp.storbinary( 'STOR %s'%RemoteFile, file_handler, 4096 )    file_handler.close()     return True   def UpLoadFileTree( self, LocalDir, RemoteDir ):     if os.path.isdir( LocalDir ) == False:       return False     LocalNames = os.listdir( LocalDir )     print RemoteDir     self.ftp.cwd( RemoteDir )     for Local in LocalNames:       src = os.path.join( LocalDir, Local)       if os.path.isdir( src ):         self.UpLoadFileTree( src, Local )       else:         self.UpLoadFile( src, Local )     self.ftp.cwd( ".." )     return   def DownLoadFileTree( self, LocalDir, RemoteDir ):     if os.path.isdir( LocalDir ) == False:       os.makedirs( LocalDir )     self.ftp.cwd( RemoteDir )     RemoteNames = self.ftp.nlst()      for file in RemoteNames:       Local = os.path.join( LocalDir, file )       if self.isDir( file ):         self.DownLoadFileTree( Local, file )               else:         self.DownLoadFile( Local, file )     self.ftp.cwd( ".." )     return   def show( self, list ):     result = list.lower().split( " " )     if self.path in result and "<dir>" in result:       self.bIsDir = True   def isDir( self, path ):     self.bIsDir = False     self.path = path     #this ues callback function ,that will change bIsDir value     self.ftp.retrlines( 'LIST', self.show )     return self.bIsDir   def close( self ):     self.ftp.quit() ftp = myFtp('********') ftp.Login('*****','*****') #ftp.DownLoadFile('TEST.TXT', 'others//runtime.log')#ok #ftp.UpLoadFile('runtime.log', 'others//runtime.log')#ok #ftp.DownLoadFileTree('bcd', 'others//abc')#ok #ftp.UpLoadFileTree('aaa',"others//" ) ftp.close()print "ok!"

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 马关县| 论坛| 徐闻县| 五河县| 日喀则市| 长沙市| 岢岚县| 北流市| 玉龙| 抚顺市| 原阳县| 庄浪县| 逊克县| 镇远县| 迭部县| 鹿邑县| 亚东县| 永胜县| 敦煌市| 当涂县| 利川市| 休宁县| 平顶山市| 平凉市| 漠河县| 通山县| 嘉定区| 涪陵区| 丘北县| 金乡县| 环江| 台北县| 顺昌县| 东乌珠穆沁旗| 治多县| 屏山县| 闽清县| 得荣县| 永寿县| 富蕴县| 将乐县|