Rad Blog

Archive

Python - source.error(“incomplete escape %s” % escape, len(escape))

문제 발생 상황

raise source.error("incomplete escape %s" % escape, len(escape))
re.error: incomplete escape \U at position 72 (line 4, column 3)
  • PEP8을 따르도록 터미널에서 flake8을 입력하니 위와 같은 에러가 발생했다.
  • 검색 결과 보통의 경우 위의 메세지는 파일 어딘가에 \U 문자열이 포함되어 있을때 발생 하는 것으로 나타났지만 \U는 없을 뿐더러 전혀 다른 경우였다.

에러 발생 원인

  • 함수의 입력값으로서 파라미터를 Typing할 때. 추상메서드를 사용한 빈 객체 파라미터에 대한 타입을 명시할 때 발생하는 것이 확인되었다.

문제점이 있던 코드

  • event.py
from abc import ABC

class Event(ABC):
    pass

  • puyo.py
 def reflect_event(self, event: Event):	  <- 이 곳이다.
        if isinstance(event, VoidEvent):
            return self.position
'''
	이하 생략...
'''

해결 방법

  • puyo.py의 첫번째 줄, def reflect_event(self, event: Event):의 Type hint인 가장 뒷부분의 event: Event 를 뒤의 Event를 지우고, event로 수정했더니 에러가 더이상 발생하지 않았다.

  • 내가 올렸었던 Stackoverflow에 같은 내용의 질문에 대한 링크 -> 이동

comments powered by Disqus