在Python中同时运行os.system()多次?

在Python中同时运行os.system()多次?,python,multithreading,Python,Multithreading,我编写了以下简短的python脚本,在Fedora17系统上使用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()命令?使用线程处理或多处理 下面是一个使用多处理的示例: def retr

我编写了以下简短的python脚本,在Fedora17系统上使用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()命令?

使用
线程处理
多处理

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

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

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

还有一个指向另一个SO问题的链接:

看看子流程模块,尤其是Popen()方法。您也可以在这里使用os.fork()

子流程是一个很好的解决方案(在某些方面比我的答案更好)。我不知道为什么我没有想到它…谢谢我看了subprocess,但我只编写了几个月的程序,docs.python和以前一样神秘。@James--如果你坚持下去,你会习惯文档的格式的。一旦你掌握了诀窍,它们实际上非常容易阅读/使用。谢谢,这非常有效。屏幕输出进度条在cclive的屏幕底部相互堆叠,但运行了4次。谢谢