команды:
make foo -f $*
Имеет различную функциональность при вызове из командной строки в сравнении, когда она вызывается из питона сценария следующим образом:
import os
os.system(make foo -f $*)
Как указано здесь: http://tldp.org/LDP/abs/html/internalvariables.html#APPREF $ * в bat-файле в основном все позиционные параметры, рассматриваемые как одно слово.
Python, похоже, разбирает его как просто «$ *». Есть ли способ обойти это и воспроизвести ту же функциональность?
Я понимаю, что могу написать сценарий .bat и назвать это с помощью python, но я надеялся на что-то более красноречивое.
Забудьте о 'os.system'. Всегда используйте функции из 'subprocess' и * avoid *, передавая' shell = True' как можно больше. – Bakuriu