使用curl下载多个文件

时间:2014-09-24 17:53:36

标签: python curl

我必须使用python脚本在Windows上使用cURL。我的目标是:使用python脚本从远程目录获取所有文件...最好进入本地目录。之后,我将每个文件与本地存储的文件进行比较。我能够一次获得一个文件,但我需要从远程目录中获取所有文件。 有人可以建议如何获取多个文件? 我用这个命令: curl.exe -o file1.txt sftp:///dir1/file1.txt -k -u user:password

感谢

1 个答案:

答案 0 :(得分:0)

我还没有对此进行测试,但我认为您可以尝试将每个shell命令作为单独的进程启动,以便同时运行它们。显然,如果您有大量文件,这可能是一个坏主意,因此您可能需要更仔细地管理它。这是一些未经测试的代码,您需要编辑“cmd”代码。\ n \ n当然,get_file函数中的变量。

from multiprocessing import Process
import subprocess

def get_file(filename):
    cmd = '''curl.exe -o {} sftp:///dir1/{} -k -u user:password'''.format(filename, filename)
    subprocess.check_output(cmd, shell=True, stderr=subprocess.STDOUT) # run the shell command

files = ['file1.txt', 'file2.txt', 'file3.txt']

for filename in files:
    p = Process(target=get_file, args=(filename,)) # create a process which passes filename to get_file()
    p.start()