새로새록
파일다루기 - 출력방식연구 본문

import os
filenames = ['service_contract.hwp', 'account_book.pptx',
'business_report.docx', 'accounting_report.pptx', 'christmas_report.pptx']
for filename in filenames:
os.rename(filename, 'codeit_' + filename)
# 채점 코드
for f in sorted(os.listdir()):
if f == 'main.py':
continue
print(f)
codeit_account_book.pptx
codeit_accounting_report.pptx
import os
import datetime
filenames = ['service_contract.hwp', 'christmas_report.pptx',
'business_report.docx', 'accounting_report.pptx', 'account_book.pptx']
for filename in filenames:
mtimestamp = os.path.getmtime(filename)
mtime = datetime.datetime.fromtimestamp(mtimestamp)
size = os.path.getsize(filename)
file_info = {}
file_info["filename"] = filename
file_info["mtime"] = str(mtime)
file_info["size"] = size
print(file_info)
# 방법 1
last_modification = os.stat(path).st_mtime
last_access = os.stat(path).st_atime
# 방법 2
last_modification = os.path.getmtime(path)
last_access = os.path.getatime(path)
git.txt, web_publishing.txt, computer_science.txt, python_programming.txt 이렇게 4개의 파일에 담긴 수강 후기를 all_reviews.txt 파일에 하나로 합치는 코드를 작성해 주세요. 구분을 위해서 각각의 코스마다 줄바꿈을 끝에 두 번씩 넣어주세요.
reviews = ["computer_science.txt", "git.txt",
"python_programming.txt", "web_publishing.txt"]
with open("all_reviews.txt", "w", encoding="utf-8") as all_reviews_file:
for review in reviews:
with open(review, "r", encoding="utf-8") as review_file:
course_review = review_file.read()
all_reviews_file.write(course_review + "\n\n")
# 채점 코드
with open("all_reviews.txt") as review_txt:
print(review_txt.read().strip())
str_1 = "업무 자동화는 실제 어떤 업무에 적용하고 사용할 지에 대해서 잘 아는게 중요하기 때문에\n"
str_2 = "개발 지식보다는 업무에 대한 이해가 높은 사람들이 오히려 더 잘 할 수 있습니다."
with open("codeit.txt", "a+", encoding="utf-8") as file:
file.write(str_1)
file.write(str_2)
file.seek(0)
print(file.read())

shutil 모듈 이용해서 파일 복제하기
파일 복제는 shutil 모듈 안에 있는 copy 함수를 사용하면 됩니다. shutil.copy("원본 파일", "복제 파일") 형태로 사용합니다.
import shutil
shutil.copy('codeit_1.txt', 'codeit_3.txt')
압축
압축은 파일의 내용을 유지하면서 용량을 줄이는 기술입니다. 업무를 하다 보면 압축을 해서 전달하거나, 압축을 풀어야 할 일도 많은데요. 이런 작업도 모두 자동화할 수 있습니다.
압축하기
압축을 하려면 zipfile 모듈을 사용하면 됩니다. zipfile 모듈도 기본적으로 내장되어 있기 때문에 별다른 설치 없이 바로 import 해서 사용하면 됩니다. 이때도 결국에 압축 파일을 다루는 일이므로 앞에서 했던 파일 쓰기와 비슷하게 with 문을 사용해서 작성하면 됩니다. 이때 단순 압축이 아닌, 용량을 줄이고 싶다면 ZipFile() 함수의 파라미터로 compression=zipfile.ZIP_DEFLATED을 넘겨주시면 됩니다.
import zipfile
with zipfile.ZipFile("favorite.zip", "w", compression=zipfile.ZIP_DEFLATED) as zip:
zip.write("내가 좋아하는 노래.txt")
zip.write("하품하는 고양이.jpeg")
압축 풀기
압축 풀기는 extractall() 메소드를 이용하면 됩니다. 파라미터로 압축이 풀리길 원하는 폴더 이름을 적어주세요.
import zipfile
with zipfile.ZipFile("favorite.zip", "r") as zip:
zip.extractall("data")
'소프트웨어융합 > 코드잇 정리.py' 카테고리의 다른 글
파이썬 - 폴더관리 예시제들 (0) | 2022.01.30 |
---|---|
파이썬, 문자열갖고놀기 (0) | 2022.01.29 |
셀레니엄 활용예시 (0) | 2022.01.20 |
Selenium vs BeautifulSoup 뭐쓸겨? (2) | 2022.01.18 |
selenium - 액션체인 & javascript사용 (0) | 2022.01.09 |