Python的os.system()是否等待进程的结束?

Ado*_*obe 22 python

Python的手动只字未提是否os.system("cmd")等待与否的进程结束:

引用手册:

在子shell中执行命令(字符串).

看起来它确实在等待(与Perl的行为相同system).它是否正确?

Rus*_*der 25

是的,它确实.调用的返回值是子进程的退出代码.

  • @RusselWinder:你为什么不把它添加到你的答案中? - 解释一个人如何使用子进程包代替! (4认同)
  • 是的,但人们根本不应该使用os.system.使用子进程包,可能是辅助函数之一:call,check_call,check_output. (2认同)
  • 在python 3.5调用中,check_call和check_output已被run函数替换. (2认同)

obm*_*arg 12

手册没有明确说明,但它确实暗示它等待过程结束时说返回值是程序的返回值.

所以回答你的问题,是的,它确实等待.