1) 사용 이유
2) 파일 열기 모드
file = open("data.txt", "w") # 만든 파일을 객체 형태로 가져온다.
file.write("1.스타트코딩과 함께 파이썬 공부")
file.close()
# 파일 열기 -> 파일 작업 -> 파일 닫기
3) 파일 추가
file = open("data.txt", "a") # 만든 파일을 객체 형태로 가져온다.
file.write("2.비전공자도 정말 쉽게 배울 수 있습니다.")
file.close()
# 파일 열기 -> 파일 작업 -> 파일 닫기
4) 파일 읽기
file = open("data.txt","r")
data = file.read()
file.close()
👉 정리
# 1. 파일 쓰기
file = open("data.txt", "w") # 루트 디렉토리 바로 아래에 생긴다.
file = open('./myvenv/Chapter10/data.txt', 'w', encoding='utf8') #./는 루트 디렉토리임
file.write('1. 스타트코딩과 함께 파이썬 공부')
file.close()
# 2. 파일 추가
file = open('./myvenv/Chapter10/data.txt', 'a', encoding='utf8')
file.write('\n2. 비전공자도 정말 쉽게 배울 수 있습니다.')
file.close()
# 3. 파일 읽기
file = open('./myvenv/Chapter10/data.txt', 'r', encoding='utf8')
# 3-1. 파일 전체 읽기
data = file.read()
print(data)
file.close()
# 3.2 파일 한 줄 읽기
while True:
data = file.readline() # 한줄씩 읽음
print(data, end="") # print를 하면 자동으로 한 줄을 띄어주기 때문에 ""로 붙여줘야 한다.
if data == "":
break
file.close()
: 파일에 파이썬 객체 저장하기
❓ 왜 사용 : 텍스트 이외의 자료형을 파일로 저장하기 위하여 pickle이라는 모듈을 제공한다. (출처 : https://wayhome25.github.io/cs/2017/04/04/cs-04/)
# 1. 파이썬 객체를 pickle로 저장하기
import pickle
data = {
"목표1" : "매일 팔굽혀 펴기 100회",
"목표2" : "매일 코딩 공부 1시간"
}
file = open("./myvenv/Chapter10/data.pickle", "wb") # wb는 write binary약자로 컴퓨터가 바로 읽을 수있게 만든다.
pickle.dump(data, file) # file에 data를 넣어준다.
file.close()
# 2. pickle 파일 파이썬으로 가져오기
file = open("./myvenv/Chapter10/data.pickle", "rb")
data = pickle.load(file)
print(data)
file.close()
# with 구문을 사용하면 자동으로 file close 해준다.
with open("./myvenv/Chapter10/data.txt", "r", encoding="utf8") as file:
data = file.read()
print(data)
1) csv(comma-seperated values)
: 데이터가 콤마로 구분된 텍스트 파일 형식
#####파일 입력(쓰기)#####
import csv
data = [
["이름", "반", "번호"],
["재석", 1, 20],
["홍철", 3, 8],
["형돈", 5, 32]
]
file = open("./myvenv/Chapter10/student.csv", "w", newline="", encoding="utf-8-sig")
#자동으로 csv 파일을 만들때 한줄씩 띄우기가 돼서 ""으로 막아준다.
writer = csv.writer(file)
for d in data:
writer.writerow(d) #한줄씩 저장
file.close()
#####파일 출력(읽기)#####
import csv
file = open("./myvenv/Chapter10/student.csv", "r", encoding="utf-8-sig")
reader = csv.reader(file)
for data in reader :
print(data)
file.close()
출처 : 패스트캠퍼스 Python & Django로 시작하는 웹 프로그래밍