Запустите команду с подпроцессом, который имеет аргументы, как с & в Windows - PullRequest
0 голосов
/ 23 декабря 2019

Я пытаюсь запустить через подпроцесс команду командной строки, которая получает в качестве аргументов файлы. Однако в этих файлах могут быть такие символы, как «&», и они могут быть интерпретированы как команды CMD, если они не заключены в кавычки (»).

Обычно это работало, и команда была пропущена в списке. :

from subprocess import run
file = r'broken&difficult.txt'
command = ['convert', file]
run(command)

Однако он вернет stdErr:

StdErr: 'diffcult.txt' is not recognized as an internal or external command, operable program or batch file

Код возврата: 1.

Я попытался изменить переменную имени файла на:

file =r'"broken&difficult.txt"'

В результате он не может найти файл. С кодом возврата 0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...