国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

詳解Python下ftp上傳文件linux服務器

2020-02-15 21:57:31
字體:
來源:轉載
供稿:網友

模塊介紹:

from ftplib import FTP ftp = FTP() #設置變量 ftp.set_debuglevel(2) #打開調試級別2 顯示詳細信息 ftp.connect("IP", "port") #連接ftp, IP和端口 ftp.log("user", "password") #連接的用戶名、密碼  ftp.cwd(pathname) #設置FTP當前操作的路徑 ftp.dir() #顯示目錄下的文件信息 ftp.nlst() #獲取目錄下的文件 ftp.mkd(pathname) #新建遠程目錄 ftp.pwd() #返回當前所在位置 ftp.rmd(dirname) #刪除遠程目錄 ftp.delete(filename) #刪除遠程文件 ftp.rename(from_name, to_name) #修改文件名 ftp.storbinaly("STOR filename.txt", file_handel, bufsize) # 上傳目標文件 ftp.retrbinaly("RETR filename.txt", file_handel, bufsize) # 上傳FTP文件

功能實現:

ftp.dir() 能顯示目錄下的文件信息,考慮到要分別對文件夾個數和文件數目進行統計,文件夾下存在文件夾和文件嵌套;將dir()后的目錄信息放入列表,對列表進行操作;進入子文件夾后進行遞歸調用操作。

 # -*- coding: utf-8 -*-  from ftplib import FTP  ftp = FTP() ftp.connect('132.121.xx.xxx', 'xx909') ftp.login('crmyun_xxx', 'wyjjjjxJ') sum1 = 0 sum2 = 0 value = 0  def search_file(start_dir):  ftp.cwd(start_dir)  print ftp.pwd()  dir_res = []  ftp.dir('.', dir_res.append) #對當前目錄進行dir(),將結果放入列表  for i in dir_res:   if i.startswith("d"):    global sum1     sum1 += 1    search_file(ftp.pwd()+"/"+i.split(" ")[-1])    ftp.cwd('..')   else:    global sum2, value    sum2 += 1    val = i.split(" ")[-1]    value += ftp.size(val)    if ftp.pwd().endswith('/'):     #    print ftp.pwd()+val+"  "+str(ftp.size(val))+" B" #打印出每個文件路徑和大小     pass    else:     #    print ftp.pwd()+"/"+val+"  "+str(ftp.size(val))+" B"     pass def sum_file(file_path):  search_file(file_path)  print "folder number is "+str(sum1)+", file number is "+str(sum2)+", Totle size is "+str(value)+" B"    if __name__ == '__main__':  sum_file("/apps/crmyun/crmyun_755")

展示結果:

完整上傳程序

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

ftp登陸連接from ftplib import FTP   #加載ftp模塊ftp=FTP()       #設置變量ftp.set_debuglevel(2)    #打開調試級別2,顯示詳細信息ftp.connect("IP","port")   #連接的ftp sever和端口ftp.login("user","password")  #連接的用戶名,密碼print ftp.getwelcome()   #打印出歡迎信息ftp.cmd("xxx/xxx")    #進入遠程目錄bufsize=1024      #設置的緩沖區大小filename="filename.txt"   #需要下載的文件file_handle=open(filename,"wb").write #以寫模式在本地打開文件ftp.retrbinaly("RETR filename.txt",file_handle,bufsize) #接收服務器上文件并寫入本地文件ftp.set_debuglevel(0)    #關閉調試模式ftp.quit()      #退出ftp ftp相關命令操作ftp.cwd(pathname)     #設置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文件            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌邑市| 松溪县| 温泉县| 金乡县| 色达县| 江口县| 浮梁县| 塘沽区| 商南县| 阿图什市| 苗栗县| 安顺市| 南川市| 平凉市| 永泰县| 宁津县| 伊川县| 象山县| 富顺县| 天柱县| 阿拉善盟| 潜江市| 鄂托克旗| 固阳县| 伽师县| 新田县| 大丰市| 错那县| 政和县| 晋州市| 绿春县| 巢湖市| 云霄县| 万全县| 庆云县| 曲沃县| 子洲县| 旺苍县| 当雄县| 临西县| 上思县|