programing

파이썬에서 문자열 리터럴을 탈출하지 않고 작성하는 방법은 무엇입니까?

codeshow 2023. 9. 4. 20:51
반응형

파이썬에서 문자열 리터럴을 탈출하지 않고 작성하는 방법은 무엇입니까?

Python에서 문자열 변수를 선언하여 내부의 모든 것을 자동으로 이스케이프하거나 문자 값을 가질 수 있는 방법이 있습니까?

저는 슬래시로 인용문을 피하는 방법을 묻는 것이 아닙니다. 그것은 명백합니다.제가 요청하는 것은 문자열의 모든 것을 문자 그대로 만드는 범용적인 방법입니다. 그래서 저는 매우 큰 문자열을 위해 모든 것을 수동으로 통과하고 탈출할 필요가 없습니다.

원시 문자열 리터럴:

>>> r'abc\dev\t'
'abc\\dev\\t'

매우 큰 문자열, 특히 다중 줄 문자열을 다루는 경우에는 트리플 따옴표 구문에 유의해야 합니다.

a = r"""This is a multiline string
with more than one line
in the source code."""

그런 것은 없습니다.펄과 셸에서 "여기 문서"와 같은 것을 원하는 것처럼 보이지만, 파이썬에는 그런 것이 없습니다.

원시 문자열이나 여러 줄의 문자열을 사용한다는 것은 걱정할 것이 적다는 것을 의미할 뿐입니다.원시 문자열을 사용하는 경우에도 터미널 "\" 주변에서 작업해야 하며 문자열 솔루션을 사용할 경우 데이터에 포함된 ","," 또는 ""가 닫힐까 걱정해야 합니다.

즉, 그 끈을 가질 방법이 없습니다.

 '   ''' """  " \

어떤 종류의 내부 이스케이프 없이 모든 파이썬 문자열 리터럴에 적절하게 저장됩니다.

여기에서 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

(Python 코드 내에서 직접 문자열을 입력할 필요가 없다고 가정)

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페이지의 코드가 있는 경우 유용할 수 있습니다.

print 및 repr 사용:

>>> s = '\tgherkin\n'

>>> s
'\tgherkin\n'

>>> print(s)
    gherkin

>>> repr(s)
"'\\tgherkin\\n'"

# print(repr(..)) gets literal

>>> print(repr(s))
'\tgherkin\n'

>>> repr('\tgherkin\n')
"'\\tgherkin\\n'"

>>> print('\tgherkin\n')
    gherkin

>>> print(repr('\tgherkin\n'))
'\tgherkin\n'

언급URL : https://stackoverflow.com/questions/4703516/how-to-write-string-literals-in-python-without-having-to-escape-them

반응형