2011-07-28 12 views
2

matlabがシステム上に存在するかどうかをPythonコードから確認する方法があるかどうかを知りたいと思います。これまでのところ私が思いつくことができるのは、exists = os.system("matlab")です。次に、command not foundの存在を解析します。しかし、私はこれがほぼ確実である:Pythonのmatlabインストールの確認

  1. システムに存在する場合は、matlabを起動します。私はこれを望んでいない。
  2. 応答は、実行しているシステムによって異なる場合があります。

matthonインストールがPythonからシステム上で利用できるかどうかを確認する方法はありますか?

よろしく、 ボグダン

答えて

1

お使いのシステムコールの動作を仮定すると、あなたはこのようmatlab.exeのパスを確認することができます。Unixでは、

import os 

def matlab_installed(): 
    for path in os.environ["PATH"].split(";"): 
     if os.path.isfile(os.path.join(path, "matlab.exe")): 
      return True 
    return False 

を、あなたはスプリットを変更する必要があります( ";") MATLAB実行ファイルがUnix上で呼び出されたものにsplit( ":")と "matlab.exe"を実行します。

+0

入力いただきありがとうございます。試してみましょう。 – Bogdan

+0

あなたのソリューションはWindows OS上で動作します。しかし、実際のP​​ATHが端末のecho $ PATHによって行われた場合、MacOSではos.environ ["PATH"]は/ usr/bin:/ bin:/ usr/sbin:/ sbinのみを返します。/ opt/local/bin: /opt/local/sbin:/Library/Frameworks/Python.framework/Versions/2.7/bin:/usr/bin:/bin:/usr/sbin:/sbin:....など – Bogdan

+0

これは環境問題ですが、 os.environ ["PATH"]は、私のfedoraボックスのecho $ PATHと同じものを返します。どのようにPythonを呼び出しますか? – Jacob