1. 파일 열기
- open(): 파일을 열어서 읽고 쓸 때 활용는 메소드이다.
- 파일이 위치한 저장 경로를 통해 파일을 연다.
- mode: w(쓰기), r(읽기), a(기존 파일에 추가)
- overwrite: 파일을 쓰기 모드로 열 때, 기존에 존재했던 파일인 경우 덮어 쓰기로 파일연다.
- 기존 파일 내용을 유지하면서 새로운 내용을 추가하고 싶으면 a 모드로 파일을 연다.
- close 하지 않으면 해당 프로그램 실행이 종료되기 전까지 파일은 계속 열려있다.
path = "C:/data/test.txt" # 파일을 있거나, 저장하고자 하는 위치
file = open(path,"w")
for i in range(1, 11):
txt = "{} 번 줄 text 파일에 쓰는 중 입니다.\n".format(i)
file.write(txt)
2. 파일 닫기
- close(): open() 메소드를 통해 연 파일을 닫을 때 사용하는 메소드이다.
- with 구문을 사용하여 파일을 open 하지 않는 이상 close 해야만 파일을 정상적으로 닫힌다.
path = "C:/data/test.txt" # 파일을 있거나, 저장하고자 하는 위치
file = open(path,"w")
for i in range(1, 11):
txt = "{} 번 줄 text 파일에 쓰는 중 입니다.\n".format(i)
file.write(txt)
file.close()
3. 파일 읽기
- readline
- readlines
- read
1. readline: 파일 속에 저장된 내용을 한 줄씩 읽어들인다.
path = "C:/data/test.txt"
file = open(path, "r")
while True:
data = file.readline() # 한 줄씩 읽어서 data 변수에 할당
if not data:
break
print(data, end = "")
# 파일을 다 읽은 후 파일 닫기
file.close()
2. readlines: 파일 속 모든 행을 한꺼번에 읽어들이는 함수
- 파일 속 모든 데이터는 list 형태로 출력된다. 단, 줄단위 구분을 위해 \n이 포함되어 있다.
file = open("C:/data/test.txt","r")
data = file.readlines() # 모든 행을 한꺼번에 읽어 들인다
file.close()
print(data)
# 읽어들인 데이터를 하나씩 리스트에 담는다.
new = []
for i in data:
new.append(i.rstrip())
print(new)
3. read: 모든 행을 하나의 문자열로 읽어들인다.
- 파일에서 읽은 데이터는 하나의 문자열에 저장되어 있다.
# read: 모든 행을 하나의 문자열로 읽어들인다.
path = "C:/data/test.txt"
file = open(path,"r")
data = file.read()
file.close()
print(data)
print(len(data))
# data 가공
data.replace('\n',' ')
4. with 문을 활용한 파일 열기
- with 문: 자원(파일, 혹은 DB 세션)을 사용하고 종료할 때 사용한다.
- 단락을 빠져나올 때 자동으로 자원이 반납된다. (close를 사용하지 않아도 된다.)
# 쓰기
with open("C:/data/test.txt","w") as file:
for i in range(1, 11):
txt = "{}번째 줄입니다..\n".format(i)
file.write(txt)
# 추가
with open("C:/data/test.txt","a") as file:
for i in range(11, 21):
txt = "{}번째 줄입니다..\n".format(i)
file.write(txt)
# 읽기
with open("C:/data/test.txt","r") as file:
data = file.readlines()
print(data)
'language > Python' 카테고리의 다른 글
[기타 문법] WITH문 이란? (0) | 2023.11.24 |
---|---|
[Package/Library] pandas 자료구조(1) - Series (0) | 2023.11.17 |
[Package/Library] 날짜 Library - datetime/time/calendar (1) | 2023.11.17 |
[Module] 파이썬 파일(.py)을 import 하는 방법 (0) | 2023.11.16 |
[Function] 가변 인자(*args)와 키워드 가변 인자(**kwargs) (0) | 2023.11.16 |