Powiedz, mam ciąg w Pythonie 3.2 jak poniżej:Unescaping uciekł znaków w ciąg przy użyciu Python 3.2
'\n'
Kiedy print() to do konsoli, to pokazuje, jak nowej linii, oczywiście. To, czego chcę, to móc wydrukować ją dosłownie jako ukośnik odwrotny, a następnie n. Co więcej, muszę to zrobić dla wszystkich znaków zbiegających się, takich jak \ t. Więc szukam unescape function(), że w ogólnym przypadku, będzie działać w następujący sposób:
>>> s = '\n\t'
>>> print(unescape(s))
'\\n\\t'
Jest to możliwe w Pythonie bez konstruowania słownika uciekły znaków do ich dosłownych zamienniki?
(w przypadku ktoś jest zainteresowany, powód Robię to dlatego, że muszę przekazać ciąg do zewnętrznego programu w linii poleceń Program ten rozumie wszystkie standardowe sekwencje.).
Kiedy mówisz „jeden wiersz poleceń” I załóżmy, że faktycznie masz na myśli przez stdout, w takim przypadku program, do którego przekazujesz dane, powinien zużywać '\ n', etc ... bez żadnych problemów. Oznacza to, że jeśli wydrukowałeś dane po ich przejściu do tego drugiego programu, zobaczyłbyś, że '\ n' nadal tam będzie. Chyba, że naprawdę chcesz tego uniknąć. Ale najpierw sprawdź, czy Twoje usunięcie dodatkowego "\" w drugim programie prawdopodobnie spowoduje błąd. – Endophage
Mam program wiersza poleceń o nazwie myutility. Oczekuje się, że będzie nazywane tak: 'myutility -i \ n' Jeśli nie rozwiążę łańcucha znaków, to nigdy nie zobaczę, że \ n zostanie do niego przekazany - to przyjmie, że -i będzie pustym argument. –