我已经为这个问题苦苦挣扎了至少 1 个小时,现在我放弃了,我需要你宝贵的帮助..
我想要做的是在 python 脚本中运行 python 脚本,传递一些参数。
到目前为止,我已经使用 bat 文件完成了这项工作,如下所示:
测试.bat
...
SET fileName='c:\works\files\file.xml'
SET url='someurl'
SET table='tablename'
c:\Python27\python.exe "C:\Program Files (x86)\Google\google_appengine\appcfg.py" upload_data --config_file=C:\works\config.yaml --filename="%fileName%" --url="%url%" --kind="%table%"
这很好用。现在我需要在另一个 python 脚本中调用该脚本,如下所示:
测试.py
...
fileName = 'c:\works\files\file.xml'
url = 'someurl'
table = 'tablename'
if(os.path.exists(fileName):
print 'exists!'
#launch appcfg.py here!!
else:
print 'file missing'
该文件已正确找到,'exists!
消息已正确显示,但我现在不知道如何调用该 python 文件。我尝试了这两个命令,但它们不起作用(可能是路径中的空格?我不知道如何摆脱它..)
第一次尝试:失败
os.system('c:\Python27\python.exe "C:\Program Files (x86)\Google\google_appengine\appcfg.py" upload_data --config_file=C:\works\config.yaml --filename='+fileName+' --url='+url+' --kind='+table)
第二次尝试:双重失败
subprocess.call(['c:\Python27\python.exe','"C:\Program Files (x86)\Google\google_appengine\appcfg.py" upload_data --config_file=C:\works\config.yaml --filename='+fileName+' --url='+url+' --kind='+table ])
我希望我没有一些复制/粘贴错误,关键是我不知道如何将这么多参数传递给另一个脚本,在主 python 脚本中调用它。
我在你的手中,提前谢谢,最好的问候