from ftplib importftp_tls
import
osimport
reclass
myftp(ftp_tls):
"""繼承ftp類
"""def dirs(self, *args):
"""my dirs
"""self.encoding = '
gb18030
'cmd = '
list
'if args[-1:] and
not isinstance(args[-1], str):
args, func = args[:-1], args[-1]
for arg in
args:
ifarg:
cmd = cmd + ('
' +arg)
files =
l_files = [file.split("
")[-1] for file in
files]
return [file for file in l_files if file != "."
and file != ".."
]ftps =myftp()
#ftps.set_debuglevel(2)
ftps.connect("
172.25.22.1
",21) #ftp服務ip和埠
ftps.login(
"user
","123456
") #ftp使用者密碼
ftps.prot_p() #繼承了myftp類中的prot_p方法,目的是為了解決某些開啟了安全ssl/tsl而連線不上的問題
ftps.set_pasv(1) #pasv(1)為被動模式,pasv(0為主動模式)
ftps.encoding = '
gb18030
' #防止中文亂碼
ftps.retrlines(
'list')
#a = ftps.dirs("/")
#print(a)
ftps.close()
也可以用更簡單的方法:
import osimport re
import ftplib
ftps = ftplib.ftp_tls()
ftps.connect("172.25.22.1",21)
ftps.login("user","123456")
ftps.prot_p()
ftps.encoding="gb18030"
ftps.retrlines('list')
ftps.close()
取出路徑下的檔名
import osimport re
import ftplib
ftps = ftplib.ftp_tls()
ftps.connect("172.25.22.1",21)
ftps.login("user","123456")
ftps.prot_p()
ftps.encoding="gb18030"
ftps.retrlines('list')
ftps.close()
f1 =
for file in files:
a = re.split("[ ]+",file)
print(f1)
ftps.close()
python的學習 ftplib模組
python中的ftplib模組 ftp的工作流程及基本操作可參考協議rfc959 ftp登陸連線 from ftplib import ftp 載入ftp模組 ftp ftp 設定變數 ftp.set debuglevel 2 開啟除錯級別2,顯示詳細資訊 ftp.connect ip port ...
Python的標準模組ftplib
幾個函式 ftp host user passwd acct timeout global default timeout 如果引數中有user,則connect 如果同時也有user,則login 如果沒用這些引數,後要自己呼叫connect和login。connect self,host por...
Python檔案傳輸模組ftplib
ftplib是基於ftp協議實現的乙個python模組 from ftplib import ftp 建立乙個ftp連線物件 ftp ftp 當帶有引數時,即 ftp ftp host,user,passwd,acct 會進行方法呼叫connect host 當給出使用者時,另外進行方法呼叫 其中p...