我收到此消息:“警告: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)
答案 0 :(得分:1)
该消息通过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'