python使用ftplib模塊實現FTP文件的上傳下載

python已經默認安裝了ftplib模塊,用其中的FTP類能夠實現FTP文件的上傳下載python

FTP文件上傳下載linux

# coding:utf8
from ftplib import FTP


def upload(f, remote_path, local_path):
    fp = open(local_path, "rb")
    buf_size = 1024
    f.storbinary("STOR {}".format(remote_path), fp, buf_size)
    fp.close()


def download(f, remote_path, local_path):
    fp = open(local_path, "wb")
    buf_size = 1024
    f.retrbinary('RETR {}'.format(remote_path), fp.write, buf_size)
    fp.close()


if __name__ == "__main__":
    ftp = FTP()
    ftp.connect("x.x.x.x", 21)      # 第一個參數能夠是ftp服務器的ip或者域名,第二個參數爲ftp服務器的鏈接端口,默認爲21
    ftp.login(username, password)     # 匿名登陸直接使用ftp.login()
    ftp.cwd("tmp")                # 切換到tmp目錄
    upload(ftp, "ftp_a.txt", "a.txt")   # 將當前目錄下的a.txt文件上傳到ftp服務器的tmp目錄,命名爲ftp_a.txt
    download(ftp, "ftp_a.txt", "b.txt")  # 將ftp服務器tmp目錄下的ftp_a.txt文件下載到當前目錄,命名爲b.txt
    ftp.quit()

 

FTP對象經常使用方法服務器

ftp.cwd(path)                    設置FTP當前操做的路徑,同linux中的cd函數

ftp.dir()                             顯示目錄下全部信息ui

ftp.nlst()                            獲取目錄下的文件,顯示的是文件名列表spa

ftp.mkd(directory)             新建遠程目錄code

ftp.rmd(directory)              刪除遠程目錄orm

ftp.rename(old, new)         將遠程文件old重命名爲new對象

ftp.delete(file_name)          刪除遠程文件blog

ftp.storbinary(cmd, fp, bufsize)             上傳文件,cmd是一個存儲命令,能夠爲"STOR filename.txt", fp爲類文件對象(有read方法),bufsize設置緩衝大小

ftp.retrbinary(cmd, callback, bufsize)              下載文件,cmd是一個獲取命令,能夠爲"RETR filename.txt", callback是一個回調函數,用於讀取獲取到的數據塊

相關文章
相關標籤/搜索