Я борюсь с этой проблемой, по крайней мере, 1 часы, теперь я сдаюсь, мне нужна ваша помощь .. драгоценнойRun питон файл в питоном скрипте, передавая аргументы
То, что я пытаюсь сделать, заключается в запуске скрипта python в скрипте python, передающем некоторые аргументы.
до сих пор, я не сделал это, используя файл битой, как это:
test.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%"
это прекрасно работает. Теперь мне нужно вызвать этот сценарий в другом питон скрипт, например:
test.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 ])
Я надеюсь, что я не некоторые ошибки копирования/вставки сделал, дело в том, что я не знаю, как передать так много аргументов другому сценарию, назвав его внутри главного питона сценария ..
Я в ваших руках, спасибо заранее, с наилучшими пожеланиями
* UPDATE * Я исправил эти ошибки копирования вставки, которые @Kindall указывал – BeNdErR