[python] cx_Freeze 설정 파일에서 명령행 인수 설정하기

cx_Freeze는 Python 프로그램을 실행 파일로 변환하기 위한 강력한 도구입니다. 설정 파일을 사용하여 여러 가지 옵션을 지정할 수 있습니다. 이번에는 cx_Freeze 설정 파일에서 명령행 인수를 설정하는 방법에 대해 알아보겠습니다.

설정 파일 생성하기

먼저 설정 파일을 생성해야 합니다. Python 스크립트와 같은 디렉토리에 setup.py 파일을 만듭니다. 다음과 같이 설정 파일의 내용을 입력합니다.

from cx_Freeze import setup, Executable

# 프로그램 실행 파일 세부 정보
executables = [
    Executable('main.py')
]

# cx_Freeze 설정 정보
options = {
    'build_exe': {
        'includes': [],
        'excludes': [],
        'packages': [],
        'include_files': []
    }
}

# setup 함수 호출
setup(
    name='MyApp',
    version='1.0',
    description='My Awesome Application',
    executables=executables,
    options=options
)

위 코드에서 Executable 클래스에서 실행 파일의 세부 정보를 설정합니다. 이 예제에서는 main.py 파일을 실행 파일로 변환합니다.

options 변수에는 cx_Freeze에 대한 설정 정보를 포함합니다. 이 예제에서는 추가적인 모듈의 포함 여부(includes), 제외할 모듈(excludes), 포함할 패키지(packages), 포함할 파일(include_files) 등을 지정합니다.

명령행 인수 추가하기

이제 설정 파일에서 명령행 인수를 추가해 보겠습니다. options 변수에 command_line 키를 추가하고 그 값으로 목록 형태의 인수들을 입력합니다.

# cx_Freeze 설정 정보
options = {
    'build_exe': {
        'includes': [],
        'excludes': [],
        'packages': [],
        'include_files': []
    },
    'command_line': ['arg1', 'arg2', 'arg3']
}

위 예제에서는 arg1, arg2, arg3라는 세 개의 명령행 인수를 설정하였습니다. 원하는 만큼 인수를 추가하고 값을 지정할 수 있습니다.

설정 파일을 저장한 후, 명령행에서 다음과 같이 cx_Freeze 명령을 실행하면 설정 파일에 지정된 명령행 인수들이 프로그램으로 전달됩니다.

python setup.py build

이제 cx_Freeze 설정 파일에서 명령행 인수를 설정하는 방법을 알게 되었습니다. 이를 활용하여 원하는 설정을 지정하고 실행 파일을 만들 수 있습니다.