Python - os.popen和subprocess.Popen有什么区别?
Python - os.popen和subprocess.Popen有什么区别?
1 个回答
6
在Python中,os
模块处理进程的功能现在被认为过时了。为了更好地处理子进程,Python 2.4引入了subprocess
模块,这个模块比以前的一些老模块和函数更强大、更统一。那些老模块和函数包括:
os.system
os.spawn*
os.popen*
popen2.*
commands.*
值得注意的是,os.popen
在Python 2.6中被标记为不推荐使用(不过有趣的是,在Python 3中它并没有被标记为不推荐使用,而是通过subprocess.Popen
来实现)。文档中有一段关于如何用subprocess.Popen
替代它的说明,大家可以去看看。