欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python網(wǎng)絡(luò)編程之文件下載實(shí)例分析

 更新時(shí)間:2015年05月20日 11:02:00   作者:久月  
這篇文章主要介紹了python網(wǎng)絡(luò)編程之文件下載實(shí)現(xiàn)方法,實(shí)例分析了Python基于FTP及http實(shí)現(xiàn)文件下載的技巧,需要的朋友可以參考下

本文實(shí)例講述了python網(wǎng)絡(luò)編程之文件下載實(shí)現(xiàn)方法。分享給大家供大家參考。具體如下:

真是越看越喜歡python啊,想要了解它提供的http和ftp下載功能,原來(lái)是如此的簡(jiǎn)單。

1、相應(yīng)模塊

ftplib模塊定義了FTP類(lèi)和一些方法,用以進(jìn)行客戶(hù)端的ftp編程。我們可用python編寫(xiě)一個(gè)自已的ftp客戶(hù)端程序,用于下載文件或鏡像站點(diǎn)。如果想了解ftp協(xié)議的詳細(xì)內(nèi)容,請(qǐng)參考RFC959或是查看python幫助吧。

Urllib模塊提供了非常高級(jí)的接口來(lái)從網(wǎng)絡(luò)上抓取數(shù)據(jù),主要使用到的是urlopen函數(shù),跟open函數(shù)功能比較相似,這里我們要用到urlretrieve()函數(shù)來(lái)實(shí)現(xiàn)從http服務(wù)器上下載文件。

2、實(shí)例實(shí)現(xiàn)FTP下載和上傳

from ftplib import FTP
import sys
def ftpdownload(path,file):
  ftp = FTP()
  ftp.set_debuglevel(2)
  #打開(kāi)調(diào)試級(jí)別2,顯示詳細(xì)信息
  ftp.connect('**IP**')
  #連接ftp服務(wù)器
  ftp.login(user,password)
  #輸入用戶(hù)名和密碼
  print ftp.getwelcome()
  #顯示ftp服務(wù)器的歡迎信息
  ftp.cwd(path)
  #選擇操作目錄
  bufsize = 1024
  #設(shè)置緩沖區(qū)大小
  file_handler = open(file,'wb').write
  #以寫(xiě)模式在本地打開(kāi)文件
  strBuffer = 'RETR ' + file
  ftp.retrbinary(strBuffer,file_handler,bufsize)
  #接收服務(wù)器上文件并寫(xiě)入本地文件
  ftp.set_debuglevel(0) #關(guān)閉調(diào)試
  ftp.quit() #退出ftp服務(wù)器
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)

上傳文件非常類(lèi)似,對(duì)應(yīng)的上傳函數(shù)storbinary。

from ftplib import FTP
import sys,os
def 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')
  #讀方式打開(kāi)上傳文件
  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、實(shí)例實(shí)現(xiàn)HTTP下載

http下載真的是超級(jí)簡(jiǎn)單,一個(gè)函數(shù)就搞定,這里通過(guò)傳入要下載的地址下載文件,并計(jì)算下載時(shí)間,我想的感覺(jué)是比較笨的計(jì)算時(shí)間的方法,不知道誰(shuí)有高招呢?

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

希望本文所述對(duì)大家的Python程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • 一些常用的Python爬蟲(chóng)技巧匯總

    一些常用的Python爬蟲(chóng)技巧匯總

    這篇文章主要為大家詳細(xì)匯總了一些常用的Python爬蟲(chóng)技巧,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-09-09
  • 深入理解Python中字典的鍵的使用

    深入理解Python中字典的鍵的使用

    這篇文章主要介紹了深入理解Python中字典的鍵的使用,是Python入門(mén)學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下
    2015-08-08
  • 基于python二叉樹(shù)的構(gòu)造和打印例子

    基于python二叉樹(shù)的構(gòu)造和打印例子

    今天小編就為大家分享一篇基于python二叉樹(shù)的構(gòu)造和打印例子,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python3中str、bytes、bytearray轉(zhuǎn)化

    Python3中str、bytes、bytearray轉(zhuǎn)化

    本文主要介紹了Python3中str、bytes、bytearray轉(zhuǎn)化,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-04-04
  • pytorch預(yù)測(cè)之解決多次預(yù)測(cè)結(jié)果不一致問(wèn)題

    pytorch預(yù)測(cè)之解決多次預(yù)測(cè)結(jié)果不一致問(wèn)題

    這篇文章主要介紹了pytorch多次預(yù)測(cè)結(jié)果不一致的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-06-06
  • Python模擬隨機(jī)游走圖形效果示例

    Python模擬隨機(jī)游走圖形效果示例

    這篇文章主要介紹了Python模擬隨機(jī)游走圖形效果,涉及Python隨機(jī)數(shù)概率運(yùn)算及圖形繪制相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • python?獲取圖片中文字的四種辦法

    python?獲取圖片中文字的四種辦法

    本文主要介紹了python?獲取圖片中文字的幾種辦法,主要使用光學(xué)字符識(shí)別(OCR)技術(shù),本文主要介紹了4種第三方庫(kù),具有一定的參考價(jià)值,感興趣的可以了解一下
    2023-11-11
  • tracemalloc分析內(nèi)存使用情況與泄露方式

    tracemalloc分析內(nèi)存使用情況與泄露方式

    這篇文章主要介紹了tracemalloc分析內(nèi)存使用情況與泄露方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 解決windows下python3使用multiprocessing.Pool出現(xiàn)的問(wèn)題

    解決windows下python3使用multiprocessing.Pool出現(xiàn)的問(wèn)題

    這篇文章主要介紹了解決windows下python3使用multiprocessing.Pool出現(xiàn)的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • python魔法方法之__setattr__()

    python魔法方法之__setattr__()

    這篇文章主要介紹了python魔法方法之__setattr__(),python提供了諸多的魔法方法,其中__setattr__()方法主要用于類(lèi)實(shí)例進(jìn)行屬性賦值,接下來(lái)請(qǐng)和小編一起進(jìn)入文章來(lái)了解更多相關(guān)內(nèi)容吧
    2022-03-03

最新評(píng)論