-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
list를 이용해서 파일을 불러올때의 에러에 관하여
21.04.30 23:10 작성 조회수 2.73k
0
score_file = open("score.txt", "r", encoding="utf8")
lines = score_file.readlines # list 형태로 저장
for line in lines:
print(line, end="")
score_file.close()
강의랑 똑같이 썼는데
line 37, in <module>
for line in lines:
TypeError: 'builtin_function_or_method' object is not iterable
이라고 에러가 뜨는데 제가 어딜 잘못해서 에러가 나오는지 모르겠습니다.
혹 알려주시면 감사하겠습니다.
답변을 작성해보세요.
0
김경민
2021.05.01
안녕하세요!
for문 한 줄 위에, 파일로부터 여러 줄을 읽어 lines
에 저장하는 과정에서 오류가 난 것으로 보입니다.
파이썬에서는 함수 또한 변수처럼 사용할수 있기에
(일급함수 라고 합니다. 많은 현대 언어에서 사용하는 개념입니다.)
lines = score_file.readlines
와 같이 함수 호출 readlines( ) 형태가 아닌 함수 이름 readlines 을
그대로 대입하시면, lines는 함수가 되어 lines( ) 처럼 호출하실 수 있습니다.
이 상황에서 for문에서 lines를 대상으로 반복을 수행하려고 하니
iterable하지 않다, 즉 for문으로 반복을 수행할 수 없는 대상=함수 라는
오류가 뜬 것 입니다.
여기서는 lines 를 함수로 사용하시려는 의도가 아니라
읽어온 line들을 저장하는 변수로 사용하시려고 한 것 같습니다.
답변 1