プログラムがコンピューターにインストールされているかどうかを検出できるようにする Python 関数はありますか。その部分はWindowsで動作しますが、Linuxで実行するにはwineが必要なので、python関数がwineを検出する方法が必要です。
1 に答える
1
関数を使用して、環境変数os.get_exec_path()
に設定されているディレクトリのリストを取得できます。PATH
探している実行可能ファイルがこれらのディレクトリのいずれにも存在しない場合、プログラムがインストールされていないと想定するのは正しいことです。
Wine がインストールされているかどうかを判断するために切り取られたコードは、次のようになります。
import os
winePath = None
for directory in os.get_exec_path():
testWinePath = os.path.join(directory, "wine")
if os.path.exists(testWinePath) and os.access(testWinePath, os.R_OK | os.X_OK):
winePath = executablePath
break
Wine がインストールされている場合、その実行可能ファイル ( wine
) へのパスはwinePath
変数になります。見つからない場合winePath
となりますNone
。また、コードは、ファイルを読み取って実行するための正しい権限がファイルにあるかどうかもチェックしています。
はos.get_exec_path()
Python 3.2 以降で使用できます。古いバージョンでは、代わりに使用できますos.environ["PATH"].split(":")
。
于 2013-01-16T22:15:02.023 に答える