Я пытаюсь вызвать Python, используя аргумент "-c", чтобы позволить мне легко выполнить какой-то произвольный код Python, например: python.exe -c "for idx in range(10): print idx"
Теперь этот код работает нормально из моего командного файла, однако яЯ сталкиваюсь с проблемами, когда я хочу сделать что-то большее, чем это.
Рассмотрим следующий код Python:
foo = 'bar'
for idx in range(10):
print idx
это даст вам 0-9 в stdout.Однако, если я сверну это в одну строку, используя точки с запятой в качестве разделителей, получу следующее:
foo = 'bar';for idx in range(10): print idx
и попытаюсь запустить его с помощью python.exe -c
, это вызовет SyntaxError:
C:\Python>python.exe -c "foo = 'bar';for idx in range(10): print idx"
File "<string>", line 1
foo = 'bar';for idx in range(10): print idx
^
SyntaxError: invalid syntax
Кто-нибудь знает, как я могу на самом деле использовать это, не переключаясь на отдельный файл .py?
Я запускаю это из пакетного файла .cmd, с помощью метода вызова следующим образом:
call python.exe -c "blah blah"
с той же генерируемой ошибкой.