У меня возникла простая проблема с заменой котировок python (одиночными и двойными) на меня автоматически. Из-за этого я не могу вернуться к исходному тексту.Одиночные и двойные котировки Автоматическое переключение
Вот пример
s1 = ('foo\'bar' , 'bar\"foo', 'dead\'\"beef', 'beef\\\'\"dead')
s2 = unicode(s1)
print repr(s2)
>>>u'("foo\'bar", \'bar"foo\', \'dead\\\'"beef\', \'beef\\\\\\\'"dead\')'
В этом примере питона сделал автоматический обмен типов кавычек для первого элемента кортежа. Конечно, это ожидалось, поскольку в строке появились только одинарные кавычки. Проблема, которую я имею, я пытаюсь прочитать файл, который имеет формат, точно такой же, как напечатанное значение выше, включая u, стартовую цитату и трейлинг-цитату. Есть ли способ прочитать файл и вернуться к исходному корте s1. На самом деле, мне даже не нужен кортеж, только строки внутри. Нет схемы кодирования/декодирования, которую я нашел, работает правильно из-за автоматической подкачки. Конечно, я могу написать регулярное выражение или функцию, чтобы решить это, но должен быть способ python для этого. Также травление или любая другая сериализация не для меня.
заранее спасибо
Одинарные и двойные кавычки синтаксически идентичны в Python. То, что строка представлена одной цитатой, а не другой, в конечном счете несущественна – inspectorG4dget
Можете ли вы мотивировать необходимость сохранения этих различий в цитатах? – BlackVegetable
Что вы делаете с кортежами и строками, которые вы читаете из файла? –