您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

隐藏os.system生成的控制台输出

隐藏os.system生成的控制台输出

要以最 通用的 形式根据其标题回答问题:

要 , ;例如:

import os
os.system('echo 3 | sudo tee /proc/sys/vm/drop_caches >/dev/null 2>&1')

需要注意的是os.system()通过设计通过输出 通过调用进程的输出错误流- Python代码永远看不到它们。

另外,如果shell命令失败并返回退出代码os.system()不会 引发异常;请注意,提取shell命令的真实退出代码需要花费额外的工作:您需要通过应用从返回的16位值中提取高字节>> 8(尽管您可以依赖返回值,而不是0暗示错误条件)。

鉴于的上述限制os.system(), 代替:

例如,subprocess.check_output()可以如下使用:

import subprocess
subprocess.check_output('echo 3 | sudo tee /proc/sys/vm/drop_caches', shell=True)

以上将:

注: 推出subprocess.run(),更灵活的继任者都os.system()subprocess.check_output()-看到https://docs.python.org/3.5/library/subprocess.html#using- the-subprocess- module

注意:

其他 2022/1/1 18:30:18 有382人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶