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

首頁 > 編程 > Python > 正文

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

2020-02-23 01:18:52
字體:
來源:轉載
供稿:網友

本文實例講述了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/')            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 永丰县| 洪泽县| 扶余县| 衡南县| 信阳市| 资阳市| 大新县| 屏南县| 丹凤县| 松原市| 普陀区| 铜山县| 汕尾市| 灵山县| 抚州市| 扶沟县| 如皋市| 温泉县| 湖北省| 保定市| 古浪县| 三门峡市| 太和县| 闻喜县| 资中县| 鄱阳县| 郑州市| 潮安县| 色达县| 丹东市| 宣威市| 盐池县| 富源县| 汶川县| 鹰潭市| 伊金霍洛旗| 大邑县| 水富县| 甘德县| 陇南市| 通辽市|