我用于运行使用下面的命令称为VINA通过CMD线程序:如何将cmd行转换为os.system行?
"\Program Files (x86)\The Scripps Research Institute\Vina\vina.exe" --config conf.txt --log log.txt
所以,程序都将配置文件来运行,并输出与所述结果的日志文件。我正在使用os.system模块在python中运行程序。但是,我无法像在cmd中那样分配配置文件或日志文件。我想在python是这样的:
os.system('C:/Program Files (x86)/The Scripps Research Institute/Vina/vina.exe' --config conf.txt --log log.txt)
程序打开真正的快然后关闭,也许是因为它不运行的配置文件。我也尝试把配置放到一个字符串中,如下所示(我正在省略日志的东西,直到我的配置才起作用):
os.system('C:/ Program Files(x86)/ The Scripps Research Institute /Vina/vina.exe”,‘--config conf.txt’)
在这种情况下,我得到的错误:
TypeError: system() takes at most 1 argument (2 given)
如何指定配置文件和日志文件输出任何想法在蟒蛇行,因为我在cmd做?
如何使用os.path并提取路径和然后将其转换为字符串以与OS一起使用。系统 – dhishan
尝试'subprocess.call(['C:/ Program Files(x86)/ Scripps Research Institute/Vina/vina.exe','--config',os.path.normpath('C:/ absolute/path /to/conf.txt'),'--log','log.txt'])'。这可能会尝试在工作目录中创建日志文件,这可能是错误的。在这种情况下,传递日志文件的绝对路径,通过'tempfile'模块在适当的地方创建它,例如用户的'%TEMP%'目录。 – eryksun