python中的ftplib模塊提供了用於訪問FTP的函數,使用ftplib模塊可以在python腳本中訪問ftp,完成文件的上傳下載
ftplib模塊簡介
創建一個ftp連接對象。其原型如下:
FTP(host, user, passwd, acct)
- host 服務器主機
- user 服務器用戶名
- passwd 服務器用戶的密碼
- acct 默認爲空,一般不做設置
下面再介紹一些方法供更多的操作
connect(host,port)
host 連接的ftp服務器
port 服務器是端口
login(user,passwd,acct)
- user 登錄ftp服務器所使用的用戶名
- passwd 登錄fto服務器所使用的密碼
- acct 可選參數,默認爲空
另外有趣的是:
歡迎和中斷文件傳輸方法
- getwelcome 可以獲得ftp服務器的歡迎信息
- abort 中斷文件傳輸
sendcmd(command)與voidcmd(command)
可以向ftp服務器發送命令
retrbinary與retrlines方法下載文件
前者從服務器下載二進制形式傳輸文件,而retrlines方法使用ascii形式傳輸文件。
- retrbinary(command, callback, maxblocksize, rest)
- retrlines(command,callback)
對於retribinary,其參數含義如下: - command 傳輸命令,由“RETR+文件名”組成(之間有空格)
- callback 傳輸回調函數
- maxblocksize 設置每次傳輸的最大字節數,可選參數
- rest 設置文件的續傳位置,可選參數
對於retrlines,其參數含義如下:
- command 傳輸命令
- callback 傳輸回調函數
storbinary與storlines方法上傳文件
前者向服務器上傳二進制文件,後者上傳ascii形式傳輸文件
storbinary(command,file.blocksize)
storlines(command,file)
其中前者參數:
- command 傳輸命令,由“STOR+文件名” 組成(之間有空格)
- file 本地文件句柄
- blocksize 設置每次讀取文件的最大字節數,可選參數
後者storlines參數含義:
- command 傳輸命令
- file 本地文件句柄
set_pasv(boolean)傳輸模式
set_pasv(boolean)
其中如果參數boolean爲True,則爲被動模式;如果爲False,則爲主動模式
dir方法查看當前目錄內容列表
使用FTP對象的dir方法可以獲取當前目錄中的內容列表
rename修改服務器中的文件名
rename(fromname,toname)
其參數含義如下:
- fromname 原來文件名
- toname 重命名後的文件
delete刪除服務器中的文件
delete(filename)
cwd更改當前目錄
cwd(pathname)
mkd創建ftp目錄
mkd(pathname)
pwd獲得當前目錄
pwd()
rmd刪除目錄
rmd(dirname)
size獲得文件的大小
size(filename)
quit與close關閉ftp服務器連接
close()
quit()