1. ホーム
  2. python

[解決済み] Pythonスクリプトからプログラムが存在するかどうかをチェックする [重複] 。

2023-04-06 05:27:41

質問

Pythonスクリプトからプログラムが存在するかどうかを確認するにはどうすればよいですか?

例えば wget または curl が利用可能です。これらはpathにあるべきものとします。

マルチプラットフォームのソリューションがあれば最高ですが、今のところLinuxで十分です。

ヒントは

  • を実行しても 0 以外の結果を返すツールもあるので、コマンドを実行して戻り値を確認するだけでは不十分です。 --version .
  • コマンドをチェックするとき、画面には何も表示されないはずです。

また、より一般的な解決策をお願いしたいです。 is_tool(name)

どのように解決するのですか?

import subprocess
import os

def is_tool(name):
    try:
        devnull = open(os.devnull)
        subprocess.Popen([name], stdout=devnull, stderr=devnull).communicate()
    except OSError as e:
        if e.errno == os.errno.ENOENT:
            return False
    return True