2

我编写了以下简短的 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() 命令多次?

4

2 回答 2

9

使用threadingmultiprocessing

这是一个使用多处理的示例:

def retrieve_url(url):
    os.system('cclive %s' % url)

pool = multiprocessing.Pool(4)
pool.map(retrieve_url, list_of_urls)

以及指向另一个 SO 问题的链接: Python - 并行命令

于 2012-08-24T18:17:58.370 回答
3

查看 subprocess 模块,特别是 Popen() 方法。你也可以使用 os.fork()

于 2012-08-24T18:27:34.080 回答