[python] 이스케이프하지 않고 파이썬에서 문자열 리터럴을 작성하는 방법은 무엇입니까?
내부의 모든 것이 자동으로 이스케이프되거나 리터럴 문자 값을 갖도록 파이썬에서 문자열 변수를 선언하는 방법이 있습니까?
슬래시로 따옴표를 이스케이프하는 방법을 묻는 것이 아닙니다 . 내가 요구하는 것은 모든 것을 문자열 리터럴로 만드는 범용 방법이므로 매우 큰 문자열에 대해 모든 것을 수동으로 통과하고 이스케이프 할 필요가 없습니다. 누구든지 해결책을 알고 있습니까? 감사!
답변
원시 문자열 리터럴 :
>>> r'abc\dev\t'
'abc\\dev\\t'
답변
매우 큰 문자열, 특히 여러 줄 문자열을 다루는 경우 삼중 따옴표 구문에 유의하십시오.
a = r"""This is a multiline string
with more than one line
in the source code."""
답변
그와 같은 일은 없다. Perl과 쉘에서 “여기 문서”와 같은 것을 원하는 것처럼 보이지만 Python에는 없습니다.
원시 문자열 또는 여러 줄 문자열을 사용하면 걱정할 사항이 적습니다. 원시 문자열을 사용하는 경우 여전히 터미널 “\”주위에서 작업해야하며 모든 문자열 솔루션을 사용하여 데이터에 포함 된 경우 닫는 “, ‘,’ ”또는” “”에 대해 걱정해야합니다. .
즉, 문자열을 가질 방법이 없습니다.
' ''' """ " \
어떤 종류의 내부 이스케이프없이 모든 파이썬 문자열 리터럴에 제대로 저장됩니다.
답변
여기에서 Python의 문자열 리터럴 문서를 찾을 수 있습니다.
http://docs.python.org/tutorial/introduction.html#strings
그리고 여기:
http://docs.python.org/reference/lexical_analysis.html#literals
가장 간단한 예는 ‘r’접두사를 사용하는 것입니다.
ss = r'Hello\nWorld'
print(ss)
Hello\nWorld
답변
(파이썬 코드 내에서 직접 문자열을 입력 할 필요가 없다고 가정)
Andrew Dalke가 지적한 문제를 해결하려면 텍스트 파일에 리터럴 문자열을 입력 한 다음 이것을 사용하면됩니다.
input_ = '/directory_of_text_file/your_text_file.txt'
input_open = open(input_,'r+')
input_string = input_open.read()
print input_string
이것은 텍스트 파일에있는 모든 것의 리터럴 텍스트를 인쇄합니다.
' ''' """ “ \
재미 있거나 최적은 아니지만, 특히 문자 이스케이프가 필요한 3 페이지의 코드가있는 경우 유용 할 수 있습니다.
답변
문자열이 변수이면. 그것에 repr 방법 :
>>> s = '\tgherkin\n'
>>> s
'\tgherkin\n'
>>> print(s)
gherkin
>>> print(s.__repr__())
'\tgherkin\n'