python 怎么启动一个外部命令程序, 并且不阻塞当前进程

http://www.myexception.cn/perl-python/1278887.html http://blog.chinaunix.net/uid-25979788-id-3081912.html python 如何启动一个外部命令程序, 并且不阻塞当前进程 在python中如何运行外部命令,并且调用后立即返回,不阻塞当前的进程。 调用 os.system函数时, python程序会被阻塞住, 直到外部命令结束。 比如我通过os.system('notepad'),运行记事本,除非我关闭记事本,不然python程序会一直阻塞, 有哪些方法能够不阻塞的运行外面命令吗?
python
------解决方案-------------------- subprocess.Popen os.startfile   import os os.system(r'"D:\Program Files\Foxit Software\Foxit reader.exe" abc.pdf') 偶想""是不可缺少的,因为路径中有空格,否则极容易出错;对-参数不了解,不发表意见 使用os.system会有几个问题: 1、os.system会阻塞程序继续运行(如果是图形界面,还会把图形界面搞的没反应),当然如果需要阻塞,自然不是问题。 2、os.system会打开一个命令行窗口,这是比较讨厌的;除非你确实需要显示这个命令行窗口或者本来就是命令行里运行的。 所以还是建议使用 os.popen,基本语法是一样的 import os os.popen(r'"D:\Program Files\Foxit Software\Foxit reader.exe" abc.pdf') 这样不会出现命令行窗口,不会阻塞程序运行 如果需要阻塞程序运行,可以这样写: os.popen(r'"D:\Program Files\Foxit Software\Foxit reader.exe" abc.pdf').read()
posted @ 2014-07-14 19:49  adodo1  Views(6814)  Comments(0Edit  收藏  举报