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

首頁 > 編程 > Python > 正文

python網絡編程之文件下載實例分析

2019-11-25 17:26:15
字體:
來源:轉載
供稿:網友

本文實例講述了python網絡編程之文件下載實現方法。分享給大家供大家參考。具體如下:

真是越看越喜歡python啊,想要了解它提供的http和ftp下載功能,原來是如此的簡單。

1、相應模塊

ftplib模塊定義了FTP類和一些方法,用以進行客戶端的ftp編程。我們可用python編寫一個自已的ftp客戶端程序,用于下載文件或鏡像站點。如果想了解ftp協議的詳細內容,請參考RFC959或是查看python幫助吧。

Urllib模塊提供了非常高級的接口來從網絡上抓取數據,主要使用到的是urlopen函數,跟open函數功能比較相似,這里我們要用到urlretrieve()函數來實現從http服務器上下載文件。

2、實例實現FTP下載和上傳

from ftplib import FTPimport sysdef ftpdownload(path,file):  ftp = FTP()  ftp.set_debuglevel(2)  #打開調試級別2,顯示詳細信息  ftp.connect('**IP**')  #連接ftp服務器  ftp.login(user,password)  #輸入用戶名和密碼  print ftp.getwelcome()  #顯示ftp服務器的歡迎信息  ftp.cwd(path)  #選擇操作目錄  bufsize = 1024  #設置緩沖區大小  file_handler = open(file,'wb').write  #以寫模式在本地打開文件  strBuffer = 'RETR ' + file  ftp.retrbinary(strBuffer,file_handler,bufsize)  #接收服務器上文件并寫入本地文件  ftp.set_debuglevel(0) #關閉調試  ftp.quit() #退出ftp服務器if __name__ == '__main__':  path1 = 'download/test/'  file1 = 'test1.rar'  if len(sys.argv) == 3:    try:      ftpdownload(sys.argv[1],sys.argv[2])      #命令行輸入文件在ftp上的路徑和文件名,        except IOError:      print "please input the correct path and filename"  else:    ftpdownload(path1,file1)

上傳文件非常類似,對應的上傳函數storbinary。

from ftplib import FTPimport sys,osdef ftpdownload(path,file):  ftp = FTP()  ftp.set_debuglevel(2)  ftp.connect('**IP**')  ftp.login(user,password)  print ftp.getwelcome()  ftp.cwd(path)  bufsize = 1024  file_handler = open(file,'rb')  #讀方式打開上傳文件  strBuffer = 'RETR ' + file  ftp.storbinary(strBuffer,file_handler,bufsize)  #上傳文件  ftp.set_debuglevel(0)   ftp.quit()if __name__ == '__main__':  path1 = 'download/test/'  file1 = '4.jpg'  if len(sys.argv) == 3:    try:      ftpdownload(sys.argv[1],sys.argv[2])          except IOError:      print "please input the correct path and filename"  else:    ftpdownload(path1,file1)

3、實例實現HTTP下載

http下載真的是超級簡單,一個函數就搞定,這里通過傳入要下載的地址下載文件,并計算下載時間,我想的感覺是比較笨的計算時間的方法,不知道誰有高招呢?

import urllibimport sysdef download(url):  starttime = datetime.datetime.now()  print 'download start time is %s'% starttime  urllib.urlretrieve(url,'test.exe')  #開始下載,test.exe為下載后保存的文件名  endtime = datetime.datetime.now()  print 'download end time is %s'% endtime    print 'you download the file use time %s s' % (endtime - starttime).secondsif __name__ == '__main__':  if len(sys.argv) == 2:    try:      download(sys.argv[1])    except IOError:      print 'url not found'  else:    download('http://www.python.org/')

希望本文所述對大家的Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 柳河县| 阿克| 万山特区| 麻阳| 治县。| 宣化县| 永昌县| 民乐县| 星子县| 延川县| 义马市| 九江县| 仪征市| 桦南县| 辽阳县| 博湖县| 凤庆县| 马山县| 汤阴县| 根河市| 遂溪县| 左权县| 土默特左旗| 宽城| 赤峰市| 贵溪市| 晋江市| 类乌齐县| 利津县| 肇庆市| 沂南县| 鹰潭市| 万全县| 盐池县| 乌兰察布市| 桃源县| 新竹县| 江川县| 泊头市| 武山县| 嘉黎县|