본문 바로가기

Python/실습

파일 읽기 실습하기

123.txt라는 텍스트 파일이 존재한다.

나는 해당 파일의 내용을 가져와서 읽고 추가로 텍스트를 입력하는 방법을 알아볼 것이다.

 

먼저 해당 파일을 열어야 하지 않나? 

datafile=open('123.txt','r')

열기 위해 open함수를 이용하고 읽기 위해서는 뒤에 'r' 을 붙여서 파일을 읽겠다는 코드를 작성한다.

 

이후 전체를 읽을지 한줄만 읽을지 구별을 해줘야하는데 구별은 다음과 같이 진행한다.

data=datafile.read()#전체읽기
data=datafile.readline()#한줄읽기
data=datafile.readlines()#한줄씩 모두읽기

위 코드와 같이 실행했을 경우 한칸 아래에 공백이 생기게 되는데 뒤에 strip() 함수를 붙이면 해결된다.

 

코드를 실행한 이후에는 닫아주기 위해

datafile.close()

를 작성하여 종료한다.

 

이제 응용을 해보자

while문을 이용하여 모든 줄을 읽어볼 것이다.

datafile=open('123.txt','r')
while True:
    data=datafile.readline().strip()
    if not data:
        break
    print(data)
datafile.close()

위에서 설명한 코드를 이용하여 공백을 없애고 한줄씩 계속 반복하여 출력한다.

값이 True일때 한줄을 출력하고 data가 없다면 반복을 멈추는 것이다.

 

context manager을 이용하여 조금 간단하게 만들어 볼 수있다.

with를 이용하는 것인데

with open('123.txt','r') as datafile:
    while True:
        data = datafile.readline().strip()
        if not data:
            break
        print(data)

앞에 변수 선언 대신 with를 붙이고 뒤에 as로 datafile을 읽는다는 코드를 입력한 것이다.

해당 코드는 뒤에 close()가 따로 필요없다

 

다음은 txt파일에 텍스트를 추가하는 방법을 알아볼 것이다.

datafile=open('1234.txt','w') 
user_input=input('Input: ')
datafile.write(user_input + '\n')

쓰기와 구조는 비슷하지만 input함수를 이용하여 텍스트를 입력한다.

첫번째 줄을 보다시피 r 대신 w 를 입력해 주었고 이는 write를 뜻한다.

다만 w를 입력시 실행마다 값이 덮어 씌워지고 open만으로도 이전의 데이터는 지워진다.

만약 추가로 텍스트를 입력하고 싶다면 w 대신 a를 입력하면 된다.

'Python > 실습' 카테고리의 다른 글

문자열 formating 실습하기  (0) 2023.09.20
제어문 응용 실습하기  (0) 2023.09.19
조건문 실습하기  (0) 2023.09.19