본문 바로가기

Python

PYTHON : 다양한 출력 포멧 / 파일 입출력/PICKLE/WITH/QUIZ

반응형

다양한 출력 포멧

# 빈자리는 빈공간으로 두고 오른쪽 정렬을 하되 , 총 10자리 공간을 확보 
print("{0: >10}".format(500))
# 양수일 때 + 로 표시 , 음수일 땐 - 으로 표시
print("{0: >+10}".format(500))
print("{0: >-10}".format(-500))
print("{0: >+10}".format(-500))
# 왼쪽 정렬하고 빈간으로 _로 채움 
print("{0:_<10}".format(500))
#3자리 마다 콤마를 찍어주기 
print("{0:,}".format(100000000000))
#3자리 마다 콤마를 찍어주기, +- 부호도 붙여주기  
print("{0:+,}".format(100000000000))
print("{0:+,}".format(-100000000000))
#3자리 마다 콤마를 찍어주기, +- 부호도 붙여주기 , 자릿수 확보하기
# 돈이 많으면 행복하니까 빈자리는 ^로 채워주기 
print("{0:^<+30,}".format(100000000000))
print("{0:^>+30,}".format(-100000000000))
# 소수점 출력 
print("{0:f}".format(5/3))
# 소수점 특정 자리수 까지만 표시(소수점 3째자리에서 반올림)
print("{0:.2f}".format(5/3))

파일입출력

score_file = open("score.txt", "w",encoding="utf8")
print("수학 : 0",  file =score_file)
print("영어 = 50", file =score_file)
score_file.close()

score_file = open("score.txt","a", encoding="utf8")
score_file.write("과학 : 80")
score_file.write("\n컴퓨터 : 100")

score_file = open("score.txt","r",encoding="utf8")
print(score_file.read())
score_file.close()

score_file = open("score.txt","r",encoding="utf8")
print(score_file.readline())
print(score_file.readline())
print(score_file.readline())
print(score_file.readline())
score_file.close()
# 줄바꿈 필요없을 때
print(score_file.readline(),end="")

# 총 몇 줄인지 모를 때 
score_file = open("score.txt","r",encoding= "utf8")
while True:
    line = score_file.readline()
    if not line:
        break
    print(line)
score_file.close() 

score_file = open("score.txt","r",encoding="utf8")
lines = score_file.readlines() # list 형태로 저장
for line in lines : 
    print(line , end="")

score_file.close()

PICKLE

프로그램상에서 사용하는 데이터를 파일형태로 저장 -> 파일 넘겨주면 -> 다른 사람이 동일하게 편집 및 사용 가능 

#피클? : 프로그램상에서 사용하는 데이터를 파일형태로 저장 -> 파일 넘겨주면 -> 다른사람이 사용 가능

import pickle
profile_file = open("profile.pickle","wb") # wb (write binary) 바이너리 타입을 정해줘야함
profile ={"이름":"박명수", "나이" : 30 , "취미" :["축구","골프","코딩"]}
print(profile)
pickle.dump(profile, profile_file)
profile_file.close()
# 피클에서 정보를 가져와서 읽기 
profile_file= open("profile.pickle","rb")
profile = pickle.load(profile_file)
print(profile)
profile_file.close()
# with문은 자동으로 close 한다.
with open("profile.pickle","rb") as profile_file:
    print(pickle.load(profile_file))

WITH

with open("study.txt","w", encoding= "utf8") as studdy_file:
    studdy_file.write("파이썬을 열심히 공부하고 있어요")

with open("study.txt","r",encoding="utf8") as study_file:
    print(study_file.read())
# 파일 읽는것도 2문장 쓰는 것도 2문장 close 쓸 필요도 없다. 

파일을 열어서 편집하고 읽는게 간단해진다. 

Quiz

# Quiz) 당신의 회사에서는 매주 1회 작성해야 하난 보고서가 있습니다.

# 보고서는 항상 아래와 같은 형태로 출력되어야 합니다. 

# - x 주차 주간보고 -

# 부서: 

# 이름:

# 업무요약 :

# 1주차부터 50주차까지의 보고서 파일을 만드는 프로그램을 작성하시오.

# 조건 : 파일명은 '1주차.txt', '2주차.txt',... 와 같이 만듭니다. 

 나의 코딩

for number in range(1,51):
    with open("{0}주차.txt".format(number),"w",encoding="utf8") as week_report:
        print(week_report.write("-{0} 주차 주간보고-\n부서 :\n이름 :\n업무요약 : ".format(number)))

강사 코딩

#강사
for i in range(1,51):
    with open(str(i)+"주차.txt","w", encoding= "utf8") as repor_file:
        repor_file.write("-{0} 주차 주간보고 -".format(i))
        repor_file.write("\n부서 :")
        repor_file.write("\n이름 :")
        repor_file.write("\n업무요약 :")

결과

반응형