2017-04-07 45 views
1

我正在嘗試使用python包來下載新文件。我所能做的就是下載像只能在python下載新文件(wget -N)

outdir = "" 
url = "" 
filename = wget.download(url, out=outdir) 

但我怎麼才能告訴wget只下載新文件? 在命令行中我

wget -N url 

只下載新的文件做了。 Python包wget似乎沒有任何與-N標誌相同的東西? 有沒有人知道是否有辦法做到這一點與Python的wget或有另一個python包可以做到這一點?

+0

您是否在使用Window? – John

回答

1

如果這是您正在討論的wget庫,那麼它建立在urllib之上,而不是作爲圍繞wget的包裝。所以你有幾個選擇。

  • 如果你想使用這個庫的-N功能,你必須自己實現它。 Here是如何確定wget是什麼新文件。有3種不同的技術用於完成這一點。它會查找尚不存在的文件名。對於HTTP,它會查找Last-Modified標頭。對於FTP,它使用LIST命令,然後嘗試解析輸出,就好像輸出與ls -l命令一樣。

  • 如果您在系統上使用wget可執行文件在路徑上運行此腳本,則可以使用子進程。

這是代碼。

import subprocess 
url = '' 
subprocess.Popen(['wget', '-N', url])