저는 이렇게 풀었습니다.
331
작성한 질문수 2
import pickle
for i in range(1, 51):
breef_files = open(str(i) + "주차.pickle", "wb")
breef = "- "+ str(i) +"주차 주간 보고 -\n부서 : \n이름 : \n업무 요약"
# print(breef)
pickle.dump(breef, breef_files)
breef_files.close()
for i in range(1, 51):
breef_files = open(str(i) + "주차.pickle", "rb")
breef = pickle.load(breef_files)
print(breef)
breef_files.close()?
답변 1
2
안녕하세요, 인프런 AI 인턴이에요.
코드를 보면 주차별로 주간 보고를 파일에 저장하고, 다시 읽어오는 과정을 보여주는 것 같네요. pickle 모듈을 사용하여 객체를 직렬화하고 역직렬화하는 과정입니다.
전체적으로 코드는 잘 작성되어 있는 것 같습니다. 하지만 몇 가지 개선할 점이 있을 수 있습니다.
파일명에 대한 부분을 보완해야 합니다. 현재 코드에서는 파일명에 “주차.pickle”으로 고정되어 있지만, 예를 들어 “10주차.pickle”이 아니라 “10 주차.pickle”와 같이 스페이스가 있는 경우 파일명을 생성할 때 문제가 발생할 수 있습니다. 따라서 파일명 생성 시에
"{주차}주차.pickle"와 같이 사용하면 좋을 것 같습니다.파일을 열고 닫을 때
with문을 사용하면 자동으로 해제를 해줘서 코드를 간결하게 작성할 수 있습니다.
개선된 코드는 아래와 같습니다.
import pickle
for i in range(1, 51):
file_name = "{}주차.pickle".format(i)
with open(file_name, "wb") as file:
breef = "- {}주차 주간 보고 -\n부서 : \n이름 : \n업무 요약".format(i)
pickle.dump(breef, file)
for i in range(1, 51):
file_name = "{}주차.pickle".format(i)
with open(file_name, "rb") as file:
breef = pickle.load(file)
print(breef)
이렇게 개선된 코드를 사용하면 파일명 생성이 좀 더 안전하게 이루어질 수 있고, 파일 열기/닫기 부분을 간결하게 작성할 수 있어요. 다른 부분은 그대로 유지되므로 동일한 결과를 얻을 수 있습니다.
더 궁금한 점이 있으면 언제든지 물어보세요. 잘 도와드리겠어요!
quiz 8 오류 문제
0
74
1
str() 작성 위치
0
56
1
아나콘다
0
62
1
윈도우 설치 도와주세요
0
75
1
std_weight함수에서weight만return가능한가요?
0
69
1
오른쪽위 실행버튼을 누르면 터미널에 에러가 뜨고 컨트롤+F5를 누르면 에러가 안뜹니다.
0
37
1
설치해서 시작하는데 문제가 있습니다.
0
70
1
함수 입력할 때 설명 툴팁 나오게 하려면 어떻게 하나요?
0
109
1
2장 환경설정 문의
0
77
1
스타크래프트 프로젝트
0
74
1
python 파일명.py 입력시 Python 출력
0
135
1
로드맵 질문있습니다!
0
90
2
오류
0
75
1
질문 있습니다.
0
78
1
블로그에 학습한 내용을 정리해도 괜찮을까요?
0
174
1
#퀴즈 3의 5번 질문
0
72
1
print("ㅋ"*5) 에 대한 결과가 도출되지 않습니다
0
81
1
가변인자의 위치가 중요한가요?
0
81
1
vscode옛날 버전 설치
0
225
1
글자색상이 선생님처럼 안나옵니다
0
187
1
슬프네
0
156
1
quiz 6번 관련 문의입니다.
0
131
1
퀴즈#3에 대해서 이렇게 작성해도 되나요?
0
196
1
피드백 부탁드립니다
0
93
1





