[python] 파이썬 : SyntaxError : 문자열 리터럴을 스캔하는 동안 EOL

위에서 언급 한 오류가 있습니다. s1="some very long string............"

아무도 내가 뭘 잘못하고 있는지 알고 있습니까?



답변

"줄의 끝에는을 넣지 않습니다 .

이렇게하려면 사용하십시오 """:

""" a very long string ......
....that can span multiple lines
"""


답변

나는이 문제가 있었다-결국 그 이유는 내가 \문자열에 문자를 포함 시켰기 때문이다 . 이 중 하나라도 가지고 있으면 “이스케이프”하면 \\제대로 작동합니다.


답변

(문자열에 줄 바꿈이 없거나 원하지 않는다고 가정하면 …)

이 끈은 얼마나 걸립니까?

파일이나 명령 줄에서 읽은 줄 길이에 제한이 있다고 생각하고 줄 끝이 잘 리기 때문에 파서가 s1="some very long string..........(끝없이 ")와 같은 것을보고 파싱 ​​오류가 발생합니까?

다음과 같이 소스에서 줄 바꿈을 이스케이프 처리하여 긴 줄을 여러 줄로 나눌 수 있습니다.

s1="some very long string.....\
...\
...."


답변

내 상황에서 나는 \r\n작은 따옴표로 묶은 사전 문자열을 가지고있었습니다 . 나는의 모든 인스턴스 교체 \r\\r\n와를 \\n하며 제대로 eval’ed DICT에서 탈출 줄 바꿈을 반환, 내 문제를 해결.

ast.literal_eval(my_str.replace('\r','\\r').replace('\n','\\n'))
  .....


답변

나는 비슷한 문제에 직면했다. Windows에서 폴더 경로를 포함하는 문자열이 있습니다. 예를 들어 C:\Users\문제는 \이스케이프 문자이므로 문자열에서 사용하려면 하나 더 추가해야합니다 \.

잘못됨 : C:\Users\

옳은: C:\\\Users\\\


답변

/나도이 문제가 있었지만 여기에 답이 있었지만 빈 공간이 없어야 할 때 중요한 점을
알고 싶습니다.


답변

이 정확한 오류 메시지도 나타났습니다. “\”를 추가하면 문제가 해결되었습니다.

마지막 줄에 “\”가있는 약 8 개의 줄로 나뉘어 진 긴 문자열에 한 줄에 “\”가없는 것으로 나타났습니다.

파이썬 IDLE 은이 오류가 발생한 줄 번호를 지정하지 않았지만 완전히 정확한 변수 할당 문을 강조 표시하여 나를 버렸습니다. 실제 misshapen 문자열 명령문 ( “\”로 여러 줄 길이)은 강조 표시된 명령문과 인접 해 있습니다. 아마도 이것은 다른 누군가를 도울 것입니다.