mod がロードされているかどうかを確認するためにコマンドを使用する必要がありますがlsmod
、実行後にそれを読み取る方法がわかりません。subprocess.Popen()
私はそれを実行するために使用しています。正しい方向のポイントは大歓迎です。:D
質問する
358 次
4 に答える
2
を使用subprocess.Popen(stdout=subprocess.PIPE)
し、 を呼び出しsubprocess.communicate()
て出力を読み取ります。基本的な使い方:
process = subprocess.Popen(['lsmod'], stdout=subprocess.PIPE) # Can also capture stderr
result_str = process.communicate()[0] # Or [1] for stderr
詳細については、Python のドキュメントを参照してください。
于 2013-04-25T10:48:08.200 に答える
1
なぜ使用しないのsubprocess.check_output()
ですか?
于 2013-04-25T10:47:52.540 に答える
0
ath
inを探していたと仮定するとlsmod
、コマンドは次のようになります。 lsmod | grep ath
使用subprocess
:
In [60]: c=subprocess.Popen("lsmod",stdout=subprocess.PIPE)
In [61]: gr=subprocess.Popen(["grep" ,"ath"],stdin=c.stdout,stdout=subprocess.PIPE)
In [62]: print gr.communicate()[0]
ath5k 135206 0
ath 19188 1 ath5k
mac80211 461261 1 ath5k
cfg80211 175574 3 ath5k,ath,mac80211
于 2013-04-25T10:53:23.130 に答える
0
lsmod はこれを教えてくれません。その出力を解析する必要があります。
外部モジュールを使用する場合は、https://github.com/agrover/python-kmod/をご覧ください。
于 2013-04-25T10:48:26.337 に答える