이번엔 파이썬상에서 txt 파일을 다루는 것을 공부해 볼 것이다.
f = open("new.txt",'w')
for i in range (1,11):
data = f"{i}번째 줄입니다.\n"
f.write(data)
f.close()
위 프로그램은 f라는 변수에 txt파일을 만들고 열고 반복문을 적으라는 의미이다.
변수 = open("파일명.txt", '파일 열기 모드')
변수. close() 이렇게 만든다.
파일 열기 모드에 대한 설명은 아래와 같다.
r | 읽기모드 - 파일을 읽기만 할 때 사용 |
w | 쓰기모드 - 파일에 내용을 쓸 때 사용 |
a | 추가모드 - 파일의 마지막에 새로운 내용을 추가 시킬 때 사용 |
for문을 통해서 반복문을 만들었다.
data에 입력되는 값을 write() 함수를 통해서 new.txt에 적는다.
변수. close()를 통해서 열려있는 파일 객체를 닫아주는 것으로 끝낸다.
프로젝트가 있는 폴더의 위치에 new.txt가 생성됐을 것이다.
("C:/doit/새 파일. txt" 이처럼 경로를 지정해서 텍스트 파일을 만들 수 도 있다.)
이를 열어보면 다음과 같다.
1번째 줄입니다.
2번째 줄입니다.
3번째 줄입니다.
4번째 줄입니다.
5번째 줄입니다.
6번째 줄입니다.
7번째 줄입니다.
8번째 줄입니다.
9번째 줄입니다.
10번째 줄입니다.
f = open("new.txt",'r') #파일 객체 읽기모드로 열기
while True: #항상 참
line = f.readline() #readline() 함수를 통해서 파일객체의 정보 읽어오기
if not line : break #더 이상 읽을 줄 이 없다면 멈추기
print(line)
f.close #파일 객체 닫아주기
위처럼 readline() 함수를 이용해서 txt 파일의 내용을 읽어오는 것도 가능하다.
if not line : break라는 직관 적인 기능도 이용 가능하다.
f.close()를 통해 파일을 닫는 것을 잊지 말자.
while True:
data = input("자료를 입력하세요: ") #데이터 입력 받기
if not data:break #더 이상 읽을 데이터가 없으면 탈출, 사실 해당문장이 없어도 잘 작동한다.
print(data)
이런 식으로 사용도 가능하다. readline() 함수 대신에 input()을 사용한다.
f = open('new.txt','r')
lines = f.readlines() #파일안의 요소들을 리스트 형식으로 lines에 전달함
for line in lines:
line = line.strip() # 줄 끝의 줄 바꿈 문자를 제거한다.
print(line)
f.close()
위처럼 readlines() 함수를 사용하면 txt안의 값들을 lines변수에 list로 저장할 수 있다.
line.strip() 함수를 이용하면 줄 바꿈도 없앨 수 있다.
f = open('new.txt','r')
data = f.read() #파일 내용 전체를 문자열로 반환
print(data)
f.close()
위처럼도 가능하다. read()를 사용하면 한 줄씩 읽어 오는 게 아니라 내용 전체를 문자열로 반환시키는 것이다.
f = open('new.txt','a') #기존내용에 새로운 내용 add
for i in range(11,20):
data = f"{i}번째 줄입니다.\n"
f.write(data)
f.close()
print(f.read())
이런 식으로 'a'를 사용해서 텍스트 파일의 기존 내용에 변형을 가하지 않고 내용을 추가할 수 있다.
'Programming languages > Python' 카테고리의 다른 글
9. Class (0) | 2021.12.14 |
---|---|
Examples) Chapter4 (0) | 2021.12.12 |
7. Input&Print (0) | 2021.12.10 |
6. Function (0) | 2021.12.10 |
Examples) Chapter 3 (0) | 2021.12.09 |