Python 2.7.12でUbuntu 16.04で動作しています。 プログラムのリストがマシンにインストールされているかどうか確認したいと思います。 これまでのところ、私はこのコードの動作していない部分を持っている:私は、文字列変数などのプログラムを使用していない場合、私は、このコマンドを実行することができますプログラムのリストからプログラムがインストールされているかどうか確認してください。
import subprocess
program = ['rsync', 'locate']
for x in program:
cmd = "dpkg-query -W " + x + " | grep -c " + x
process = subprocess.Popen(cmd.split(), stdout=subprocess.PIPE)
output, error = process.communicate()
:
exists = subprocess.call("dpkg-query -W rsync | grep -c 'rsync'", shell=True)
、それは0/1を返します。 。プログラムがインストールされているかどうかを返すループを構築する方法を教えてください。おそらく5行ほどで、必要なのは単純なTrue/False(0/1)です。ありがとう
はい、以前はaptを使用していましたが、少し遅いと感じました。これはapt.cacheを取得するのに数秒かかります。したがって私はaptモジュールの使用を避けたい。もう1つ、aptモジュールは、少なくともUbuntuではなく、デフォルトでインストールされているので、使用する前にインストールする必要があります。私はできるだけ簡単かつ迅速にそれをするつもりです。 –