как использовать кавычки при передаче параметров
p = subprocess.Popen('c:\Users\app.exe -arg1=arg1 -arg2=\path\ -arg3="arg3"')
^^
Ответы (1 шт):
Автор решения: geo
→ Ссылка
Проблема не в кавычках, а в символе "\", он предворяет символ, который интрепретируется не как печатный, а как управляющий (тот, который выполняет какие-то действия (переводит корретку, добавляет строку, стирает 1 символ слева)) вам надо его заэкранировать:
p = subprocess.Popen('c:\\Users\\app.exe -arg1=arg1 -arg2=\\path\\ -arg3="arg3"')
или вычислить:
p = subprocess.Popen(f'c:{chr(92)}Users{chr(92)}app.exe -arg1=arg1 -arg2={chr(92)}path{chr(92)} -arg3="arg3"')
или по рекомендации @CrazyElf (спасибо за напоминание) использовать префикс "r"
p = subprocess.Popen(r'c:\Users\app.exe -arg1=arg1 -arg2=\path\ -arg3="arg3"')