我编写了以下简短的 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() 命令多次?
我编写了以下简短的 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() 命令多次?
使用threading
或multiprocessing
。
这是一个使用多处理的示例:
def retrieve_url(url):
os.system('cclive %s' % url)
pool = multiprocessing.Pool(4)
pool.map(retrieve_url, list_of_urls)
以及指向另一个 SO 问题的链接: Python - 并行命令
查看 subprocess 模块,特别是 Popen() 方法。你也可以使用 os.fork()