执行系统命令
使用自带模块一般有如下方式:
os.system(cmd)
subprocess.run([cmd])
建议使用 subprocess.run([cmd])
, 返回的对象可以获取执行结果
eg: 执行 ping命令,变相 hack了 sleep的功能
def run_sys_cmd(cmd, **kw):
commnd = list(filter(lambda x:x, cmd.split(' ')))
return subprocess.run(commnd, **kw)
cmd = 'ping 127.0.0.1 -n 3'
# ret = run_sys_cmd(cmd, capture_output=True) #捕获输出,不输出到标准输出
ret = run_sys_cmd(cmd)
print(ret.returncode) #命令返回码,成功为 0
# print(ret.stdout) #未指定text参数,则为编码后的字节流
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
当使用时提示命令不存在或文件找不到,可添加 shell=True
参数解决
-> 参考
编辑此页 (opens new window)
更新于: 2019-06-10 11:50