亚洲欧美日韩综合系列在线_91精品人妻一区二区_欧美大肥婆一级特大AA片_九色91视频免费观看_亚洲综合国产精品_av中文字幕在线不卡_久久精品色综合网_看黄色视频的软件_无卡无码高清中文字幕码2024_亚洲欧美日韩天堂网

使用python操作FTP上傳和下載

來源:昵稱最煩了 發(fā)布時間:2018-11-03 15:39:01 閱讀量:1196

函數(shù)釋義

Python中默認安裝的ftplib模塊定義了FTP類,其中函數(shù)有限,可用來實現(xiàn)簡單的ftp客戶端,用于上傳或下載文件,函數(shù)列舉如下

復(fù)制代碼
ftp登陸連接from ftplib import FTP            #加載ftp模塊ftp=FTP()                         #設(shè)置變量ftp.set_debuglevel(2)             #打開調(diào)試級別2,顯示詳細信息ftp.connect("IP","port")          #連接的ftp sever和端口ftp.login("user","password")      #連接的用戶名,密碼print ftp.getwelcome()            #打印出歡迎信息ftp.cmd("xxx/xxx")                #進入遠程目錄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相關(guān)命令操作

3
4
5
6
7
8
9
10
ftp.cwd(pathname)#設(shè)置FTP當前操作的路徑
ftp.dir()#顯示目錄下文件信息
ftp.nlst()#獲取目錄下的文件
ftp.mkd(pathname)#新建遠程目錄
ftp.pwd()#返回當前所在位置
ftp.rmd(dirname)#刪除遠程目錄
ftp.delete(filename)#刪除遠程文件
ftp.rename(fromname, toname)#將fromname修改名稱為toname。
ftp.storbinaly("STOR filename.txt",file_handel,bufsize)#上傳目標文件
ftp.retrbinary("RETR filename.txt",file_handel,bufsize)#下載FTP文件
ftp.cwd(pathname) #設(shè)置FTP當前操作的路徑 ftp.dir() #顯示目錄下所有目錄信息 ftp.nlst() #獲取目錄下的文件 ftp.mkd(pathname) #新建遠程目錄 ftp.pwd()#返回當前所在位置 ftp.rmd(dirname) #刪除遠程目錄 ftp.delete(filename) #刪除遠程文件 ftp.rename(fromname, toname)#將fromname修改名稱為toname。ftp.storbinaly("STOR filename.txt",file_handel,bufsize) #上傳目標文件 ftp.retrbinary("RETR filename.txt",file_handel,bufsize) #下載FTP文件
復(fù)制代碼

 

FTP.quit()與FTP.close()的區(qū)別

  • FTP.quit():發(fā)送QUIT命令給服務(wù)器并關(guān)閉掉連接。這是一個比較“緩和”的關(guān)閉連接方式,但是如果服務(wù)器對QUIT命令返回錯誤時,會拋出異常。

  • FTP.close():單方面的關(guān)閉掉連接,不應(yīng)該用在已經(jīng)關(guān)閉的連接之后,例如不應(yīng)用在FTP.quit()之后。

例:下載、上傳文件

復(fù)制代碼
# coding: utf-8from ftplib import FTPimport timeimport tarfileimport os# !/usr/bin/python# -*- coding: utf-8 -*-from ftplib import FTPdef ftpconnect(host, username, password):
    ftp = FTP()    # ftp.set_debuglevel(2)
    ftp.connect(host, 21)
    ftp.login(username, password)    return ftp#從ftp下載文件def downloadfile(ftp, remotepath, localpath):
    bufsize = 1024
    fp = open(localpath, 'wb')
    ftp.retrbinary('RETR ' + remotepath, fp.write, bufsize)
    ftp.set_debuglevel(0)
    fp.close()#從本地上傳文件到ftpdef uploadfile(ftp, remotepath, localpath):
    bufsize = 1024
    fp = open(localpath, 'rb')
    ftp.storbinary('STOR ' + remotepath, fp, bufsize)
    ftp.set_debuglevel(0)
    fp.close()if __name__ == "__main__":
    ftp = ftpconnect("113.105.139.xxx", "ftp***", "Guest***")
    downloadfile(ftp, "Faint.mp4", "C:/Users/Administrator/Desktop/test.mp4")    #調(diào)用本地播放器播放下載的視頻
    os.system('start "C:\Program Files\Windows Media Player\wmplayer.exe" "C:/Users/Administrator/Desktop/test.mp4"')
    uploadfile(ftp, "C:/Users/Administrator/Desktop/test.mp4", "test.mp4")

    ftp.quit()


分享:
評論:
你還沒有登錄,請先