inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

파이썬 무료 강의 (기본편) - 6시간 뒤면 나도 개발자

퀴즈 #7

저는 이렇게 풀었습니다.

331

김보석

작성한 질문수 2

1

 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()

?

python

답변 1

2

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴이에요.
코드를 보면 주차별로 주간 보고를 파일에 저장하고, 다시 읽어오는 과정을 보여주는 것 같네요. pickle 모듈을 사용하여 객체를 직렬화하고 역직렬화하는 과정입니다.

전체적으로 코드는 잘 작성되어 있는 것 같습니다. 하지만 몇 가지 개선할 점이 있을 수 있습니다.

  1. 파일명에 대한 부분을 보완해야 합니다. 현재 코드에서는 파일명에 “주차.pickle”으로 고정되어 있지만, 예를 들어 “10주차.pickle”이 아니라 “10 주차.pickle”와 같이 스페이스가 있는 경우 파일명을 생성할 때 문제가 발생할 수 있습니다. 따라서 파일명 생성 시에 "{주차}주차.pickle"와 같이 사용하면 좋을 것 같습니다.

  2. 파일을 열고 닫을 때 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