Python ๋ชจ๋์ธ zipfile๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ๊ฒ Zip ํ์ผ ์์ถํด์ ์ฝ๋๋ฅผ ์์ฑํ์๋ค.
Import
๋๋ ํ ๋ฆฌ ๋ฐ ํ์ผ๋ช ํ์์ ์ํด os, ์์ถ Zip ํ์ผ์ ๋ค๋ฃจ๊ธฐ ์ํด zipfile, ์ ํํ ์ค๋ฅ ์์น ๋ฐ ์์ธ ํ์ ์ ์ํ traceback ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ Import ํ์๋ค.
import os
import zipfile
import traceback
Code
๊ฐ์ฅ ์ฐ์ ์ ์ผ๋ก Zip ํ์ผ์ด ์กด์ฌํ๋ ๊ฒฝ๋ก๊ฐ ์ณ์ ๊ฒฝ๋ก์ธ์ง ๊ฒ์ฌํ๋ค. ์ค์ ์กด์ฌํ๋ ๊ฒฝ๋ก์ผ ๊ฒฝ์ฐ ํด๋น ๊ฒฝ๋ก ๋ด ์กด์ฌํ๋ ๋ชจ๋ ํ์ผ์ ๋ฆฌ์คํธ์ ๋ฃ์ ํ ๋ค์ Zip ํ์ผ๋ง ๋ถ๋ฅํ์ฌ ๋ฆฌ์คํธ์ ๋์ ํ๋ค.
def Unzip_fun(path):
if os.path(path):
# ํ์ผ ๋ชฉ๋ก ํ๋
file_list = os.listdir(path)
file_list_zip = [file for file in file_list if file.endswith(".zip")]
๊ฒฝ๋ก ๋ด Zip ํ์ผ์ ๋ชจ๋ ์ฝ์ ํ ์์ถํด์ ๋ฃจํด์ ์์ํ๋ค. ๊ฐ๊ฐ์ ์์ถํ์ผ์ ๋ฐ์ด๋๋ฆฌ๋ชจ๋๋ก ์ฐ ํ ์ง์ ๋์ด ์๋ ์์ถ ํด์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ ๋ ฅํ์ฌ ์ ์์ ์ธ ์์ถ ํด์ ๋ฅผ ์์ํ๋ค.
# ๊ฐ ํ์ผ ์์ถํด์ ๋ฃจํด
for i in range(len(file_list_zip)):
full_path = path + file_list_zip[i]
# ์์ถ ํ์ผ ์คํ
zip_file = open(full_path, 'rb')
Target_zip = zipfile.ZipFile(zip_file)
#ํจ์ค์๋ ์ง์
Target_zip.setpassword('๋น๋ฐ๋ฒํธ')
for k in Target_zip.namelist():
try:
Target_zip.extract(k, path+"\\"+file_list_zip[i])
except Exception:
traceback.print_exc()
์ ์ฒด ์์ค์ฝ๋๋ https://github.com/byeongyeolahn/python_unzip ์์ ํ์ธํ ์ ์๋ค.
ํด๋น ์ฝ๋๋ ํ์ฌ "That Compression is not supported" ์๋ฌ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ์กด์ฌํ์ฌ ํ์ ๊ธ์ ์ถ๊ฐํ์๋ค.
2022.10.04 - [๊ฐ๋ฐ๐ป/Python] - [Python] Zipํ์ผ ์์ถ ํด์ (2)(๋น๋ฐ๋ฒํธ ํฌํจ)
[Python] Zipํ์ผ ์์ถ ํด์ (2)(๋น๋ฐ๋ฒํธ ํฌํจ)
2022.09.17 - [๊ฐ๋ฐ๐ป/Python] - [Python] Zipํ์ผ ์์ถ ํด์ (๋น๋ฐ๋ฒํธ ํฌํจ) [Python] Zipํ์ผ ์์ถ ํด์ (๋น๋ฐ๋ฒํธ ํฌํจ) Python ๋ชจ๋์ธ zipfile๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ๊ฒ Zip ํ์ผ ์์ถํด์ ์ฝ๋๋ฅผ ์์ฑํ์๋ค. Impo..
bymalware.tistory.com
์ค๋ฅ, ์๋ชป๋ ์ ๋๋ ๊ถ๊ธํ ์ ์ด ์์ผ์๋ค๋ฉด ๋๊ธ ๋จ๊ฒจ์ฃผ์ธ์โ
'๊ฐ๋ฐ๐ป > Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python] Zipํ์ผ ์์ถ ํด์ (2)(๋น๋ฐ๋ฒํธ ํฌํจ) (0) | 2022.10.04 |
---|---|
[Python] Selenium์ ์ฌ์ฉํ ํฌ๋กค๋ง ์ ์(2) (0) | 2022.09.30 |
[Python] pymysql ์ ํตํด ๋ฐ์ดํฐ ๋ฒ ์ด์ค ๊ฐ(Tuple)์ List๋ก ๊ฐ์ ธ์ค๋ ๋ฒ (0) | 2022.09.27 |
[Python] Selenium ์ฌ์ฉํ๊ธฐ (0) | 2022.09.09 |
[Python] Selenium์ ์ฌ์ฉํ ํฌ๋กค๋ง ์ ์(1) (0) | 2022.09.07 |