프로그래밍의 궁극적 목적은 데이터를 가공 처리 하는것으로 이것을 위해서는 데이터 덩어리인 파일을 읽고 쓰고 저장제거하는 RWSD 는 가장 중요하고 실제 작업에서도 실수로 데이터를 손실할수 있는 부분이기 때문에 익숙하게 사용할수 있도록 잘 이해하는게 중요합니다.
파일생성하기
#파일저장
f = open("test.txt", 'w')
f.close()
#경로 만들어 저장
f = open("C:/dev/test.txt", 'w')
f.close()
파일열기모드 | |
r | 읽기모드 - 파일을 읽기만 할 때 사용 |
w | 쓰기모드 - 파일에 내용을 쓸 때 사용 |
a | 추가모드 - 파일의 마지막에 새로운 내용을 추가 시킬 때 사용 |
파일 쓰기모드로 열고 내용 적기
f = open("C:/dev/test.txt", 'w')
for i in range(1, 11):
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
외부에 저장된 파일을 읽는 방법
#한줄읽기
f = open("C:/dev/test.txt", 'r')
line = f.readline()
print(line)
f.close()
#전부읽기
f = open("C:/dev/test.txt", 'r')
while True:
line = f.readline()
if not line: break
print(line)
f.close()
-readlines 함수사용
f = open("C:/dev/test.txt", 'r')
lines = f.readlines()
for line in lines:
print(line)
f.close()
-read 함수사용
f = open("C:/dev/test.txt", 'r')
data = f.read()
print(data)
f.close()
파일에 내용 추가하기
f = open("C:/dev/test.txt",'a')
for i in range(11, 20):
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
with 문 사용
with open("test.txt", "w") as f:
f.write("Hello Would")
close() 를 안써도 되어 편리하다.
피클(Pickle)
텍스트 상태의 데이터가 아닌 파이썬 객체 자체를 파일로(pickle 모듈을 활용해 그 객체 자체를 바이너리로) 저장하는 것
피클을 사용하는 장점은 빠르다는것
-Text파일 파싱같은 처리가 필요없어 간편하고 빠르지만 취약점이 있다.
import pickle
mylist = ['a','b','c','d']
# Save pickle
with open("data.pickle","wb") as fw:
pickle.dump(mylist, fw)
# Load pickle
with open("data.pickle","rb") as fr:
data = pickle.load(fr)
print(data)
#['a', 'b', 'c','d']
#저장
#pickle.dump(객체, 파일)
f = open("test.pkl", "wb")
pickle.dump(a, f)
f.close()
#로딩
#pickle.load(파일)
f = open("a.pkl", "rb")
temp = pickle.load(f)
f.close()
#---------------------------
data = {
'a': [1, 2.0, 3, 4+6j],
'b': ("character string", b"byte string"),
'c': {None, True, False}
}
# save
with open('data.pickle', 'wb') as f:
pickle.dump(data, f, pickle.HIGHEST_PROTOCOL)
# load
with open('data.pickle', 'rb') as f:
data = pickle.load(f)
import pickle
import gzip
data = {
'a': [1, 2.0, 3, 4+6j],
'b': ("character string", b"byte string"),
'c': {None, True, False}
}
# save and compress.
with gzip.open('testPickleFile.pickle', 'wb') as f:
pickle.dump(data, f)
# load and uncompress.
with gzip.open('testPickleFile.pickle','rb') as f:
data = pickle.load(f)
'Python' 카테고리의 다른 글
Python / 함수 function (0) | 2021.04.06 |
---|---|
제어문(if) / 반복문(for, while) (0) | 2021.04.05 |
변수 / 자료형 / 연산자 (0) | 2021.04.05 |
Python 배우기를 시작하며 (0) | 2021.04.04 |
댓글