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 |