[python] PySimpleGUI를 사용하여 파일 압축 및 해제하기

파이썬은 강력한 프로그래밍 언어이며, 다양한 라이브러리를 통해 다양한 작업을 수행할 수 있습니다. 그 중에서도 PySimpleGUI는 사용자 인터페이스를 만들기 위한 간단하고 직관적인 방법을 제공하는 라이브러리입니다.

이번 예제에서는 PySimpleGUI를 사용하여 파일을 압축하고 해제하는 방법을 알아보겠습니다.

1. PySimpleGUI 설치하기

먼저, PySimpleGUI를 설치해야 합니다. 아래의 명령을 사용하여 PySimpleGUI를 설치할 수 있습니다:

pip install PySimpleGUI

2. 파일 압축하기

파일을 압축하기 위해서는 zipfile 모듈을 사용합니다. 아래의 예제 코드는 PySimpleGUI를 사용하여 압축할 파일을 선택하고 해당 파일을 압축하는 기능을 구현한 코드입니다.

import PySimpleGUI as sg
import zipfile

# 파일 선택 창을 표시하여 압축할 파일을 선택
file = sg.popup_get_file("압축할 파일을 선택하세요", file_types=(("모든 파일", "*.*"),))

if file:
    # 압축할 파일의 경로와 이름을 추출
    file_path = file.rsplit("/", 1)[0]
    file_name = file.rsplit("/", 1)[1]

    # 압축 파일의 경로와 이름 설정
    zip_path = file_path + "/" + file_name + ".zip"

    # 압축 파일 생성
    with zipfile.ZipFile(zip_path, "w") as zipf:
        zipf.write(file, file_name)

위의 코드는 PySimpleGUI를 사용하여 파일 선택 창을 띄운 후, 선택한 파일을 zipfile 모듈을 이용하여 압축하는 기능을 구현합니다.

3. 파일 해제하기

파일을 해제하기 위해서는 zipfile 모듈의 extractall() 메서드를 사용합니다. 아래의 예제 코드는 PySimpleGUI를 사용하여 압축을 해제할 파일을 선택하고 해당 파일을 해제하는 기능을 구현한 코드입니다.

import PySimpleGUI as sg
import zipfile

# 파일 선택 창을 표시하여 해제할 파일을 선택
file = sg.popup_get_file("해제할 파일을 선택하세요", file_types=(("압축 파일", "*.zip"),))

if file:
    # 압축 파일의 경로와 이름을 추출
    file_path = file.rsplit("/", 1)[0]
    file_name = file.rsplit("/", 1)[1].split(".")[0]

    # 해제될 파일의 경로 설정
    extract_path = file_path + "/" + file_name

    # 압축 파일 해제
    with zipfile.ZipFile(file, "r") as zipf:
        zipf.extractall(extract_path)

위의 코드는 PySimpleGUI를 사용하여 파일 선택 창을 띄운 후, 선택한 압축 파일을 zipfile 모듈의 extractall() 메서드를 이용하여 해제하는 기능을 구현합니다.

결론

PySimpleGUI를 사용하여 파일 압축 및 해제하는 방법에 대해 알아보았습니다. 이를 통해 간단한 파일 처리 작업을 쉽게 수행할 수 있습니다. PySimpleGUI는 사용자 인터페이스를 만들기 위한 다양한 기능을 제공하므로 다양한 프로젝트에 적용할 수 있습니다.

참고 자료