작성
·
184
0
안녕하세요 '파이썬으로 Plain Text 포맷 다루기' 강의에 관하여 질문드립니다.
plaintext_file_format 파일의 연습문제를 풀면서
를 확인하기 위해 아래와 같이 코드를 작성했습니다.
with open('00_data/text_data_practice.txt', 'r', encoding='utf-8-sig') as text_file :
print(text_file.readlines())
print(text_file.read())
위 코드를 실행하니 print(text_file.readlines())는 잘 출력이 되나, print(text_file.read())는 아무것도 출력되지 않아서 질문드립니다.
with 블록 안에서 readlines()와 read()를 하나씩만 각각 실행할 때에는 정상적으로 출력이 됩니다. 그러나 두 함수를 둘 다 실행하는 경우(각각 print()로 출력하거나 print(readlines(), read())로 출력하는 경우)에는 readlines()만 출력되고 read()는 공백만 출력됩니다.
with 블록 안에서는 하나의 동작만 가능한가요? 에러가 발생한 것도 아니라서 문제점을 모르겠습니다.
감사합니다.
답변 1
1
안녕하세요.
파일을 readline 이나 read 로 읽으면, 파일에서 읽은 부분까지 위치가 변경이 됩니다. 그래서, readline 후에 read 를 호출하면 readline으로 읽은 이후부분부터 읽게 되어서, 말씀하신 부분과 다르게 출력이 될 수 있습니다.
마지막으로 다음 가이드도 한번 이해해주시면, 장기적으로 큰 도움이 되실꺼예요~~
질문하시기 전에, 다음 내용을 확인해주시면 훨씬 도움이 되실꺼예요.
질문 전 검색은 필수! google.co.kr 에서 질문에 대해 검색해보세요! 에러 메시지는 맨 마지막 라인을 복사해서 구글에서 검색해보시고, 질문에 대해서는 질문 관련 키워드들을 조합해서 구글에서 검색해보세요. 개발자들은 모두 이를 통해, 답변을 얻습니다. 한발짝 나아가시려면, 반드시 이런 연습이 꼭 필요합니다. 사실 검색 없이 질문을 통해, 바로 답을 얻는 부분은 장기적으로는 큰 의미가 없어요. 궁극적으로는 프로그래밍은 답을 찾는 연습을 하셔야 합니다. 저는 한가지 확인이 필요한 사안을 위해, 20 ~ 30분 검색과 10개 이상의 블로그를 찾아보는 일을 하루에도 한두번씩 한답니다. 검색이 처음이신 분들은 개발자를 위한 정보 검색 팁을 참고하시면 훨씬 성장하시는데 도움이 되실 것입니다.
잔재미코딩 Dave Lee 드림