0

「sudodpkg-l」からのデータをPythonを使用してUbuntuターミナルに保存する方法、この方法で保存しようとしましたが、機能しません

import os
f = open('/tmp/dpgk.txt','w')
f.write(os.system('sudo dpkg -l'))
4

2 に答える 2

7

subprocess.check_output()別のプロセスの出力をキャプチャするために使用します。

import subprocess

output = subprocess.check_output(['sudo', 'dpkg', '-l'])

os.system()別のプロセスの終了ステータスのみを返します。上記の例ではsudo、パスワードの入力を求められないことを前提としています。

于 2013-02-16T15:52:21.507 に答える
1

コマンドの出力をファイルに保存するには、次のコマンドを使用できます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コマンドのstderrをstdoutにリダイレクトするために使用されます。

于 2013-02-16T16:01:24.707 に答える