我正在使用WGET下载文件,并希望在下载之前检查文件是否存在。我知道CLI版本有一个选项可以:(参见示例)。
# check if file exsists
# if not, download
wget.download(url, path)
使用WGET可以下载文件而不需要命名。这很重要,因为我不想在已经有名称的文件上重新命名它们。
如果有其他的文件下载方法可以检查现有文件,请告诉我!谢谢!
wget.download()
没有这样的选项。以下解决方法应该能为您解决问题:
import subprocess
url = "https://url/to/index.html"
path = "/path/to/save/your/files"
subprocess.run(["wget", "-r", "-nc", "-P", path, url])
File ‘index.html’ already there; not retrieving.
编辑:如果您在Windows上运行此命令,还需要包括shell=True
参数:
subprocess.run(["wget", "-r", "-nc", "-P", path, url], shell=True)
wget.download()
函数似乎没有其他参数选项,例如-nc
或-N
,用于跳过下载,如果文件已经存在。只有CLI版本支持这一点。def download(url, out=None, bar=bar_adaptive):
...
您只能选择URL和输出目录
[WinError 2] 系统找不到指定的文件
- aoeusubprocess.run(["wget", "-r", "-nc", "-P", path, url], shell=True)
。我已经编辑了我的答案,包括这个选项,希望能对那些在Windows上运行的人有所帮助。 - Giorgos Myrianthous