因此,我正在使用WGET下载文件,我想在下载文件之前检查文件是否存在。我知道使用CLI版本时,它可以选择:(see example)。
# check if file exsists
# if not, download
wget.download(url, path)
使用WGET,它无需命名即可下载文件。这很重要,因为当文件已经有名称时,我不想重命名它们。
如果还有其他文件下载方法可以检查现有文件,请告诉我!谢谢!!!
答案 0 :(得分:2)
在source code中,wget.download()
函数似乎没有用于附加参数(例如-nc
或-N
)的选项来跳过下载(如果文件已经存在) 。似乎只有CLI版本支持此功能。
功能:
def download(url, out=None, bar=bar_adaptive):
...
您只能选择网址和输出目录
答案 1 :(得分:2)
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)
答案 2 :(得分:0)
我没有看到python模块具有该选项。
您可以尝试猜测将要使用的文件名(通常它将是URL中最后一个斜杠字符之后的部分)。
或者您可以将文件下载到新的临时目录中,然后检查主目录中是否存在该文件名。