[파이썬] 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()
함수를 사용하여 얻을 수 있는 사용자 정보는 다음과 같습니다:
pw_name
: 사용자 이름pw_passwd
: 패스워드 (암호화되어 있음)pw_uid
: 사용자 IDpw_gid
: 그룹 IDpw_gecos
: 사용자 정보pw_dir
: 사용자의 홈 디렉토리pw_shell
: 사용자의 로그인 셸
예외 처리
getpwnam()
함수는 사용자 이름이 유효하지 않을 경우 KeyError
예외가 발생합니다. 이를 처리하기 위해 try-except
문을 사용하여 예외를 처리하는 것이 좋습니다.
try:
user_info = shutil.getpwnam(username)
return user_info
except KeyError:
print(f"User '{username}' does not exist")
잘못된 사용자 이름을 사용할 경우, 예외 메시지가 출력됩니다.
결론
shutil.getpwnam()
함수는 파이썬에서 사용자 이름을 기반으로 해당 사용자의 정보를 가져오는데 유용한 함수입니다. 이 함수를 사용하면 파일 및 디렉토리 작업과 관련된 작업을 할 때 사용자의 정보를 손쉽게 얻을 수 있습니다.