file_handling¶
파이썬은 파일 처리를 위해 "open" 키워드를 사용한다.
f = open("<파일이름>", "<접근모드>")
f.close()
r 읽기모드 - 파일을 읽기만 할 때
w 쓰기모드 - 파일에 내용을 쓸 때
a 추가모드 - 파일의 마지막에 새로운 내용을 추가 할 때
read() - txt파일 안에 있는 내용을 문자열로 반환¶
f = open("i_have_a_dream.txt", "r" )
contents = f.read()
print(contents)
f.close()
with 구문과 함께 사용하기¶
with open("i_have_a_dream.txt", "r") as my_file:
contents = my_file.read()
print (type(contents), contents)
여러가지 방법¶
- contents = my_file.read() - 파일 전체 문자열로
- contents.split(" ") - 빈칸 기준 단어 분리
- contents.split("\n") - 한줄 씩 분리하여 리스트
- my_file.readlines() - 파일 전체 리스트로
- my_file.readline() - 실행 시 마다 한 줄씩 읽어옴
한글 깨짐 방지 인코딩 encoding="utf8"¶
# 파일 쓰기
f = open("count_log.txt", 'w', encoding="utf8")
for i in range(1, 11):
data = "%d번째 줄입니다.\n" % i
f.write(data)
f.close()
# 파일 추가 모드
with open("count_log.txt", 'a', encoding="utf8") as f:
for i in range(1, 11):
data = "%d번째 줄입니다.\n" % i
f.write(data)
log파일 생성하기¶
import os
if not os.path.isdir("log"):
os.mkdir("log")
if not os.path.exists("log/count_log.txt"):
f = open("log/count_log.txt", 'w', encoding="utf8")
f.write("기록이 시작됩니다\n")
f.close()
with open("log/count_log.txt", 'a', encoding="utf8") as f:
import random, datetime
for i in range(1, 11):
stamp = str(datetime.datetime.now())
value = random.random() * 1000000
log_line = stamp + "\t" + str(value) +"값이 생성되었습니다" + "\n"
f.write(log_line)
pickle¶
- 파이썬의 객체를 영속화 하는 built-in 객체
- 데이터, object 등 실행중 정보를 저장하고 리드가능
- 저장해야하는 정보, 계산 결과(모델) 등 활용이 많음
import pickle
f = open("list.pickle", "wb")
test = [1, 2, 3, 4, 5] # 리스트 뿐만아니라 클래스객체, 튜플, 딕셔너리 다 가능
pickle.dump(test, f)
f.close()
f = open("list.pickle", "rb")
test_pickle = pickle.load(f)
print(test_pickle)
f.close()
logging 로깅 사용하기¶
Directory handling¶
나는 os를 이용하고 있는데 pathlib를 요즘 사용하는 추세??¶
In [ ]:
'부스트캠프 AI Tech > Python' 카테고리의 다른 글
[10] configparser, argparser (0) | 2022.01.14 |
---|---|
[08] Exception (0) | 2022.01.14 |
[07] 내장함수 property와 Decorator (0) | 2022.01.13 |
[06] Class, Inheritance, Visibility (0) | 2022.01.13 |
[05] 가변인자 (0) | 2022.01.12 |