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

Программы на Python
Anonymous
Невозможно проанализировать аргумент, содержащий как пробелы, так и двойные кавычки.

Сообщение Anonymous »

Я пытаюсь передать аргумент скрипту Python как одну литеральную строку, но Python просто не может его правильно проанализировать. Что бы я ни делал, аргумент искажается. Я пытался экранировать двойные кавычки, экранировать пробелы, экранировать и то, и другое, используя одинарные кавычки вокруг аргументов, содержащих двойные кавычки, но либо двойные кавычки теряются, либо аргумент разбивается на несколько элементов argv, ни один из которых мне не нужен.
script.py:
import sys

for i, arg in enumerate(sys.argv):
print(f"Arg {i}: {arg}")

Некоторые комбинации экранирования входных аргументов, которые я пробовал:
python script.py "C:\conf" "*.ini" -f '^S:"Log Filename"=.*' -r 'S:"Log Filename"=${LOGS}\%F\%S\%S-%Y%M%D-%h%m%s.txt'
python script.py "C:\conf" "*.ini" -f '^S:\"Log Filename\"=.*' -r 'S:\"Log Filename\"=${LOGS}\%F\%S\%S-%Y%M%D-%h%m%s.txt'
python script.py "C:\conf" "*.ini" -f "^S:\"Log Filename\"=.*" -r "S:\"Log Filename\"=${LOGS}\%F\%S\%S-%Y%M%D-%h%m%s.txt"
python script.py "C:\conf" "*.ini" -f "^S:\"Log\ Filename\"=.*" -r "S:\"Log\ Filename\"=${LOGS}\%F\%S\%S-%Y%M%D-%h%m%s.txt"

Обратите внимание: я также хочу, чтобы обратные косые черты \ воспринимались буквально, что означает:
\%F\%S\%S-%Y%M%D-%h%m%s.txt

не следует не менять на:
\\%F\\%S\\%S-%Y%M%D-%h%m%s.txt

Вернуться в «Python»