[파이썬] shutil `shutil.getpwnam()`: 사용자 이름으로 사용자 정보 가져오기

파이썬에서 shutil 모듈은 파일 및 디렉토리 작업을 수행하기 위한 유용한 기능들을 제공합니다. 이 모듈에는 getpwnam() 함수가 있는데, 이 함수를 사용하면 사용자 이름을 기반으로 해당 사용자의 정보를 가져올 수 있습니다.

사용법

먼저, shutil 모듈을 import 해야 합니다:

import shutil

그리고 getpwnam() 함수를 사용하여 사용자 정보를 가져옵니다. 이 함수는 사용자 이름을 매개변수로 받고, pwd 모듈의 struct_passwd 객체를 반환합니다.

import shutil
import pwd

def get_user_info(username):
    try:
        user_info = shutil.getpwnam(username)
        return user_info
    except KeyError:
        print(f"User '{username}' does not exist")

username = "john"
user_info = get_user_info(username)
print(user_info.pw_name)  # 사용자 이름 출력
print(user_info.pw_dir)  # 사용자의 홈 디렉토리 경로 출력

사용자 정보를 가져오는 정보

getpwnam() 함수를 사용하여 얻을 수 있는 사용자 정보는 다음과 같습니다:

예외 처리

getpwnam() 함수는 사용자 이름이 유효하지 않을 경우 KeyError 예외가 발생합니다. 이를 처리하기 위해 try-except 문을 사용하여 예외를 처리하는 것이 좋습니다.

try:
    user_info = shutil.getpwnam(username)
    return user_info
except KeyError:
    print(f"User '{username}' does not exist")

잘못된 사용자 이름을 사용할 경우, 예외 메시지가 출력됩니다.

결론

shutil.getpwnam() 함수는 파이썬에서 사용자 이름을 기반으로 해당 사용자의 정보를 가져오는데 유용한 함수입니다. 이 함수를 사용하면 파일 및 디렉토리 작업과 관련된 작업을 할 때 사용자의 정보를 손쉽게 얻을 수 있습니다.