我编写了以下简短的python脚本,在Fedora 17系统上使用cclive下载flv视频。
urls = [line.strip() for line in open("urls.txt")]
for url in urlstoget:
os.system('cclive %s' % url)
它工作正常,但视频限制在80kbps左右。我有39下载,并希望同时下载2-4。
如何同时多次运行os.system()命令?
答案 0 :(得分:9)
使用threading
或multiprocessing
。
以下是使用多处理的示例:
def retrieve_url(url):
os.system('cclive %s' % url)
pool = multiprocessing.Pool(4)
pool.map(retrieve_url, list_of_urls)
指向另一个SO问题的链接:Python - parallel commands
答案 1 :(得分:3)
查看子进程模块,特别是Popen()方法。您也可以使用os.fork()