python3 ftplib模組連線FTP

2022-03-10 07:35:43 字數 1855 閱讀 8083

from ftplib import

ftp_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 os

import 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 os

import 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...