我正在编写一个程序,需要在Linux和Windows上运行,并使用路径中存在的可执行文件(带参数)。(假设)
目前,我在windows中使用Subprocess.Call和Subprocess.Popen运行可执行文件时遇到问题。
对于这样的代码,在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环境变量中,我可以如何运行该命令?谢谢