国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 莫力| 泰安市| 龙陵县| 黎平县| 桐庐县| 出国| 察哈| 金沙县| 唐海县| 古田县| 平远县| 乌海市| 都安| 宣武区| 额尔古纳市| 东宁县| 曲沃县| 元江| 乐至县| 叙永县| 阜阳市| 东乌珠穆沁旗| 郸城县| 穆棱市| 伊金霍洛旗| 古浪县| 句容市| 资源县| 碌曲县| 南和县| 金昌市| 庆城县| 尼木县| 天全县| 湘乡市| 高雄市| 项城市| 哈密市| 唐海县| 本溪| 灵山县|