1

重複の可能性:
Python に実行可能ファイルが存在するかどうかをテストしますか?

プログラムがコンピューターにインストールされているかどうかを検出できるようにする Python 関数はありますか。その部分はWindowsで動作しますが、Linuxで実行するにはwineが必要なので、python関数がwineを検出する方法が必要です。

4

1 に答える 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 に答える