我发现python里面os.system()和subprocess.Popen()的一个区别:os.system调用的是cmd,subprocess.Popem调用的是powershell。
是这样吗?
我发现python里面os.system()和subprocess.Popen()的一个区别:os.system调用的是cmd,subprocess.Popem调用的是powershell。
是这样吗?
收起
那只是表面。
你到linux下就不存在cmd和powershell了,最终调用的都是bash
其实它俩主要区别是,system是单线程的,会阻塞
subprocess是多线程的,不会阻塞
主要是有这样一个问题,就是PowerShell的命令前面是需要加上'./'的,不然无法识别(没有添加环境变量的情况)。如果我的应用调用一些比较古老的windows程序,它自己的互相调用没有'./'然后用subprocess就运行不了了。
报告相同问题?