2014-09-24 4 views
1

Здравствуйте мои коллеги pythonersВызов командной строки из питона, чтобы выполнить программу в пакетном режиме с арг

Мне нужно вызвать программу в командной строке, которая будет выполняться в пакетном режиме. Эта программа получает файл с расширением .jlink, который содержит ряд команд, которые программа JLink.exe выполнит, а затем закроет.

Я попытался выполнить следующим образом:

os.system('C:/SEGGER/JLink_V490d/JLink.exe -CommanderScript D:\Files\CommandFile.jlink') 

Но эта команда выполняет программу в обычном режиме, не принимает аргументы.

Как я могу назвать выполнение командной строки, а затем отправить эту команду, чтобы программа выполнялась в пакетном режиме с этими аргументами.

Спасибо!

+0

https://stackoverflow.com/questions/89228/calling-an-external-command-in-python?rq=1 https://stackoverflow.com/ вопросы/14892355/pass-arguments-in-os-system https://stackoverflow.com/questions/16820420/python-share-the-command-line-argument-to-os-system-call – 0xAli

ответ

1

Использование subprocess:

subprocess.call(["C:\SEGGER\JLink_V490d\JLink.exe", 
       "-CommanderScript", "D:\Files\CommandFile.jlink"]) 

Вы также можете использовать shell=True просто выполнить команду непосредственно в оболочке (то, что вы пытаетесь сделать с os.system), но это не рекомендуется, потому что это угроза безопасности.

Больше информации здесь: https://docs.python.org/2/library/subprocess.html