[파이썬] shutil `shutil.which()`의 실행 파일 검색 경로
파이썬은 강력한 프로그래밍 언어이며, 실행 파일을 찾는 데에도 유용한 기능을 제공합니다. shutil
모듈은 다양한 파일 및 디렉토리 작업을 수행하기 위한 유틸리티 함수들을 제공하는 내장 모듈 중 하나입니다. shutil.which()
함수는 특정 실행 파일의 경로를 검색하는 데 사용됩니다.
shutil.which()
함수 개요
shutil.which()
함수는 한정된 실행 경로에서 특정 실행 파일의 경로를 검색합니다. 이 함수는 다음과 같은 형식으로 사용됩니다:
shutil.which(executable[, mode=os.F_OK | os.X_OK][, path=None])
executable
: 검색할 실행 파일의 이름 또는 경로입니다. 일반적으로 실행 파일의 이름만 지정하고, 실행 파일의 경로가 PATH 환경 변수에 등록돼 있어야 합니다. 또는 실행 파일의 절대 경로나 상대 경로를 지정할 수도 있습니다.mode
: 파일 존재 여부 (os.F_OK
)와 실행 권한 여부 (os.X_OK
)를 정의하는 플래그입니다. 기본 값은os.F_OK | os.X_OK
로, 파일 존재 여부와 실행 권한 여부를 모두 확인합니다.path
: 검색할 실행 파일의 경로를 추가로 제한하는 문자열입니다. 이 문자열은 시스템의 PATH 환경 변수와 유사한 형식으로 여러 경로를 쉼표로 구분하여 지정할 수 있습니다. 기본값은None
으로, 모든 경로에서 실행 파일을 검색합니다.
shutil.which()
예제
다음은 shutil.which()
함수를 사용하여 특정 실행 파일을 검색하는 예제 코드입니다:
import shutil
# 'python' 실행 파일의 경로 검색
python_path = shutil.which('python')
if python_path is not None:
print(f "'python' 실행 파일은 다음 경로에서 찾았습니다: {python_path}")
else:
print("'python' 실행 파일을 찾을 수 없습니다.")
# 'git' 실행 파일의 경로 검색
git_path = shutil.which('git')
if git_path is not None:
print(f "'git' 실행 파일은 다음 경로에서 찾았습니다: {git_path}")
else:
print("'git' 실행 파일을 찾을 수 없습니다.")
위 코드는 ‘python’과 ‘git’ 실행 파일을 검색하여 해당 파일이 있는 경우 경로를 출력합니다. 이때, shutil.which()
함수가 실행 파일을 찾지 못하는 경우 None
을 반환하므로, 이를 확인하여 처리할 수 있습니다.
요약
shutil.which()
함수는 파이썬에서 특정 실행 파일을 검색하는 데 사용됩니다. executable
인자를 통해 실행 파일의 이름 또는 경로를 지정하고, path
인자를 통해 실행 파일을 검색할 경로를 추가로 제한할 수 있습니다. 이 함수는 실행 파일의 경로를 반환하거나, 해당 파일을 찾을 수 없는 경우 None
을 반환합니다.