1시간 단축 할 수 있는 python 프로그래밍
보통 사진 촬영을 하고 난 뒤, 폴더 별로 사진을 정리한다.
정리된 사진을 워드파일이나 한글파일에 삽입해서 정리해야 할 경우가 있다.
업체로부터 촬영의뢰를 받고 결과보고서를 만들어야할 때, 100 명이 가까운 사진 파일을
원본파일-1차보정파일-2차보정파일-정장합성 파일등을 변화된 모습을 보고서에 담아야 한다.
이럴 때, 일일이 사진파일을 복사해서 워드에 담으려면 1시간 이상 걸린다.
아래와 같이 코드를 작성하고 실행시키면 정말 1초안에 결과물이 만들어진다.
코드해석
# 아래와 os와 docs를 임포트 한다.
from os import listdir
from os.path import isdir
from docx import Document
from docx import shared
document = Document()
orig_dir = "./"
# file_list 변수에 현재 폴더결로를 담아준다
file_list = listdir(orig_dir)
# 현대 폴더에 있는 모든 폴더를 배열에 담아 폴더 하나씩을 실행시킨다.
for file_li in file_list:
# 불러온 file_li가 폴더가 맞는지 확인한다. 맞다면 아래 코드를 실행시킨다.
if isdir("./"+file_li):
photo_orig_dir = "./" + file_li
photo_dir = listdir(photo_orig_dir)
try:
# 테이블 만든다
table = document.add_table(rows=2, cols=5)
hdr_cells = table.rows[0].cells
style0 = hdr_cells[0].paragraphs[0].add_run("원본")
style1 = hdr_cells[1].paragraphs[0].add_run("기본보정")
style2 = hdr_cells[2].paragraphs[0].add_run("메이크업보정")
style3 = hdr_cells[3].paragraphs[0].add_run("정장/배경합성1")
style4 = hdr_cells[4].paragraphs[0].add_run("정장/배경합성1")
style0.font.size = shared.Pt(10)
style1.font.size = shared.Pt(10)
style2.font.size = shared.Pt(10)
style3.font.size = shared.Pt(10)
style4.font.size = shared.Pt(10)
row_cells = table.rows[1].cells
paragraph0 = row_cells[0].paragraphs[0].add_run()
paragraph1 = row_cells[1].paragraphs[0].add_run()
paragraph2 = row_cells[2].paragraphs[0].add_run()
paragraph3 = row_cells[3].paragraphs[0].add_run()
paragraph4 = row_cells[4].paragraphs[0].add_run()
# flie_li 경로와 파일명을 합친후 불러온다
paragraph0.add_picture(file_li + '/0.jpg')
paragraph1.add_picture(file_li + '/1.jpg')
paragraph2.add_picture(file_li + '/2.jpg')
paragraph3.add_picture(file_li + '/3.jpg')
paragraph4.add_picture(file_li + '/4.jpg')
except FileNotFoundError:
pass
document.save("demo.docx")'Python, Django' 카테고리의 다른 글
| 비디오 파일에서 설정 단위로 이미지 캡쳐 (0) | 2022.08.30 |
|---|---|
| 엑셀에 있는 이메일 리스트로 자동이메일 보내기 (0) | 2022.08.28 |