os.system()
>>> help(os.system)
Help on built-in function system in module nt:
system(command)
Execute the command in a subshell.
os.system()是在当前进程中打开一个子shell(子进程)来执行系统命令。
这个方法只返回状态码,执行结果
会输出到 stdout
,也就是输出到终端
。
os.popen()
>>> help(os.popen)
Help on function popen in module os:
popen(cmd, mode='r', buffering=-1)
# Supply os.popen()
区别
os.system(cmd)的返回值只会有0(成功),1,2
os.popen(cmd)会把执行的cmd的输出作为值返回。
示例:
打开一个监听端口,阻塞执行。
os.system 将直接回显命令的执行状态,直接终端实时显示
,进程被阻塞。
os.popen 则python脚本执行完毕后,直接退出。阻塞运行的进程直接在系统后台运行
。
os.system("locust -f locustfile.py --host=https://www.baidu.com")
os.popen("locust -f locustfile.py --host=https://www.baidu.com")
Python调用系统命令os.system()和os.popen()的实现 https://www.jb51.net/article/203291.htm