我有一个简单的任务,但不能让我的代码工作。我想遍历我的文本文件中列出的URL并使用Python中的wget命令进行下载。每个URL都放在文本文件中的单独一行中。wget循环到文本文件中的所有行(url)并下载Windows
基本上,这是该列表的文本文件我的结构:
所有网址都大约178线。然后将其保存在当前工作目录中。
下面是我工作的初始代码:
import os, fileinput, urllib2 as url, wget
os.chdir("E:/Test/dwnld")
for line in fileinput.FileInput("E:/Test/dwnld/data.txt"):
print line
openurl = wget.download(line)
的错误信息是:
Traceback (most recent call last): File "E:\Python_scripts\General_purpose\download_url_from_textfile.py", line 5, in <module>
openurl = wget.download(line) File "C:\Python278\lib\site-packages\wget.py", line 297, in download
(fd, tmpfile) = tempfile.mkstemp(".tmp", prefix=prefix, dir=".") File "C:\Python278\lib\tempfile.py", line 308, in mkstemp
return _mkstemp_inner(dir, prefix, suffix, flags) File "C:\Python278\lib\tempfile.py", line 239, in _mkstemp_inner
fd = _os.open(file, flags, 0600) OSError: [Errno 22] Invalid argument: ".\\MOD11C3.A2000061.005.2007177231646.hdf'\n.frbfrp.tmp"
你的文件名包含一个换行字符(''\ n'')。使用'openurl = wget.download(line.strip())'去除空格。 – eryksun
@eryksun是正确的。我也很难调试同样的问题。 – JSong