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

首頁(yè) > 編程 > Python > 正文

Python使用ftplib實(shí)現(xiàn)簡(jiǎn)易FTP客戶端的方法

2020-02-23 01:30:45
字體:
供稿:網(wǎng)友

本文實(shí)例講述了Python使用ftplib實(shí)現(xiàn)簡(jiǎn)易FTP客戶端的方法。分享給大家供大家參考。具體實(shí)現(xiàn)方法如下:

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

一個(gè)FTP完整實(shí)例:

#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) #打開調(diào)試級(jí)別2,顯示詳細(xì)信息      #self.ftp.set_pasv(0)  #0主動(dòng)模式 1 #被動(dòng)模式     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!"            
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 五寨县| 邢台县| 石棉县| 铜鼓县| 思南县| 彭水| 齐齐哈尔市| 萍乡市| 大方县| 正宁县| 嵩明县| 扬州市| 崇礼县| 信丰县| 临朐县| 房产| 河东区| 博客| 永兴县| 文登市| 乐亭县| 色达县| 繁峙县| 衡东县| 恩施市| 定西市| 宾阳县| 雅安市| 汝州市| 响水县| 武平县| 三穗县| 大足县| 饶平县| 正定县| 泽州县| 车险| 新民市| 东丰县| 抚顺县| 吉首市|