1

我正在寻找批量下载大量文件(> 800)。我有一个包含所有文件名列表的文本文件。这些文件名然后用于派生可以从中下载它们的 URL。我一直在用 python 脚本解析文件,使用 subprocess 来获取文件。

wget ftp://ftp.name.of.site/filename-prefix/filename/filename+suffix

但是由于我不知道的原因,wget 无法正确连接。我想知道我是否可以使用以类似方式工作的 ftp 程序,即无需登录并停留在命令行中。

编辑:我的文本文件中有什么:

ERS032033
ERS032214
ERS032234
ERS032223
ERS032218

ERS### 充当前缀。整个事情就是文件名。最终文件(即文件名+后缀)看起来像:ERS032033_1.fastq.gz

提交正确的网址不是问题。

4

1 回答 1

1

由于您使用的是 Python,因此我建议您放弃 subprocess 方法并改用urllib模块:

import urllib
handle = urllib.urlopen('ftp://ftp.name.of.site/filename-prefix/filename/filename+suffix')
print handle.read()
handle.close()

假设您使用的是 Python 2(urllib.request用于 Python 3)

如果您只需要批量下载,则urllib.urlretrieve是一种更简洁的方法。

于 2013-05-02T19:45:18.903 回答