-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
미해결
저는 이렇게 풀었습니다.
23.07.20 17:22 작성 조회수 202
0
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
인프런 AI 인턴
2023.07.22
안녕하세요, 인프런 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)
이렇게 개선된 코드를 사용하면 파일명 생성이 좀 더 안전하게 이루어질 수 있고, 파일 열기/닫기 부분을 간결하게 작성할 수 있어요. 다른 부분은 그대로 유지되므로 동일한 결과를 얻을 수 있습니다.
더 궁금한 점이 있으면 언제든지 물어보세요. 잘 도와드리겠어요!
답변 1