인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

qazpoiu79님의 프로필 이미지
qazpoiu79

작성한 질문수

처음하는 파이썬 데이터 분석 (쉽게! 전처리, pandas, 시각화 전과정 익히기) [데이터분석/과학 Part2]

파이썬으로 Plain Text 포맷 파일 다루기

with open으로 파일 읽는 경우

작성

·

184

0

안녕하세요 '파이썬으로 Plain Text 포맷 다루기' 강의에 관하여 질문드립니다.

plaintext_file_format 파일의 연습문제를 풀면서

  1. 00_data/text_data_practice.txt 파일 읽고, 다음과 같이 출력되는지 확인하기

를 확인하기 위해 아래와 같이 코드를 작성했습니다.

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 드림

qazpoiu79님의 프로필 이미지
qazpoiu79

작성한 질문수

질문하기