subprocess.Popen和os.system之间的区别
subprocess.Popen()和os.system()有什么区别?
如果您查看Python文档的subprocess部分 ,您会注意到有一个如何用os.system()replaceos.system()的例子: 
 sts = os.system("mycmd" + " myarg") 
…做同样的事情…
 sts = Popen("mycmd" + " myarg", shell=True).wait() 
  “改进”的代码看起来更复杂,但是更好,因为一旦你知道了subprocess.Popen() ,你就不需要其他东西了。  os.system() subprocess.Popen()replace了其他几个工具( os.system()就是其中之一),它们分布在其他三个Python模块中。 
 如果有帮助,可以将os.system()看作是一个非常灵活的os.system() 。 
subprocess.Popen()是os.system()的严格超集。
subprocess基于popen2,因此具有许多优点 – PEP中有一个完整的列表,但有一些是:
- 在shell中使用pipe道
- 更好的换行支持
- 更好地处理exception
os.system相当于Unix 系统命令,而subprocess是一个辅助模块,它为Popen命令提供的许多function提供了一个更简单和可控的界面。 这些devise与Unix Popen命令类似。
 system() executes a command specified in command by calling /bin/sh -c command, and returns after the command has been completed 
在哪里
 The popen() function opens a process by creating a pipe, forking, and invoking the shell. 
如果你正在考虑使用哪一个,那么明确使用子过程是因为你拥有所有的执行设施,以及对过程的附加控制。