Получается, что subprocess.run
не очень хорошо работает для пакетных файлов, когда в аргументах есть двойные кавычки. Пакетный файл с одним оператором echo %*
выводит \"quoted\"
при вызове из subprocess.run(['my.bat', '"quoted"'])
вместо ожидаемого "quoted"
. Это, очевидно, предполагаемое поведение .
То, что, по-видимому, отсутствует, - это обходной путь. Как я могу избежать экранирования двойных кавычек при вызове командного файла? Нужно ли мартышке-патч subprocess.list2cmdline
или есть лучший способ?