如何使用python在Ubuntu终端中保存来自“sudo dpkg -l”的数据,我尝试这样做,但它不起作用
import os
f = open('/tmp/dpgk.txt','w')
f.write(os.system('sudo dpkg -l'))
如何使用python在Ubuntu终端中保存来自“sudo dpkg -l”的数据,我尝试这样做,但它不起作用
import os
f = open('/tmp/dpgk.txt','w')
f.write(os.system('sudo dpkg -l'))
用于subprocess.check_output()
捕获另一个进程的输出:
import subprocess
output = subprocess.check_output(['sudo', 'dpkg', '-l'])
os.system()
只返回另一个进程的退出状态。上面的示例假定sudo
不会提示输入密码。
要将命令的输出保存到文件中,您可以使用subprocess.check_call()
:
from subprocess import STDOUT, check_call
with open("/tmp/dpkg.txt", "wb") as file:
check_call(["sudo", "dpkg", "-l"], stdout=file, stderr=STDOUT)
stderr=STDOUT
用于将命令的标准错误重定向到标准输出。