Linux と Windows の両方で実行し、パスに存在する実行可能ファイル (パラメーター付き) を使用する必要があるプログラムを作成しています。(想定)
現在、Subprocess.Call と Subprocess.Popen を使用して Windows で実行可能ファイルを実行する際に問題があります。
このようなコードの場合、Windows 8 では
def makeBlastDB(inFile, inputType, dbType, title, outDir):
strProg = 'makeblastdb'
strInput = '-in ' + inFile
strInputType = '-input_type ' + inputType
strDBType = '-dbtype ' + dbType
strTitle = '-title ' + title
strOut = '-out ' + os.path.join(os.sep, outDir, title)
cmd = [strProg, strInput, strInputType, strDBType, strTitle, strOut]
result = Popen(cmd, shell=True)
コンソールにエラー メッセージが表示される
'makeblastdb' is not recognized as an internal or external command,
operable program or batch file.
cmd.exe を使用して同じコマンドを実行できますが、shell=False で同じ応答が得られます。
実行可能ファイルが PATH 環境変数にあると仮定してコマンドを実行する方法についてのアイデアはありますか? ありがとう