gpt4 book ai didi

python - 在 python 脚本中使用 apt 时如何从标准输出中排除特定消息?

转载 作者:太空宇宙 更新时间:2023-11-03 14:32:55 24 4
gpt4 key购买 nike

我收到此消息:“警告:apt 没有稳定的 CLI 界面。在脚本中请谨慎使用。”

在一个简单的脚本中,

process = subprocess.Popen(['apt', 'upgrade', '-y'], stdout=subprocess.PIPE)

从 python 子进程运行 apt 时如何删除那个烦人的警告?我不介意其余的输出,我只想摆脱警告。

编辑:

我正在迭代输出,以便我可以从 apt 获得实时输出。我怎样才能从那里删除它?

with open('test.log', 'w') as f:
process = subprocess.Popen(['apt', 'upgrade', '-y'],
stdout=subprocess.PIPE, stderr=subprocess.PIPE)
for line in iter(process.stdout.readline, ''):
sys.stdout.write(line)
f.write(line)

最佳答案

该消息通过 stderr 发送。我会通过管道捕获它,就像您对 stdout 所做的那样:

>>> process = subprocess.Popen(['apt', 'search', 'python'], stdout=subprocess.PIPE,
... stderr=subprocess.PIPE)
>>> stdout, stderr = process.communicate()
>>> stderr
'\nWARNING: apt does not have a stable CLI interface. Use with caution in scripts.\n\n'

关于python - 在 python 脚本中使用 apt 时如何从标准输出中排除特定消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47151241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com