Pythonでユーザー名を取得する方法
Python
では、現在のユーザー名を取得する方法として、getpass.getuser()
やos.getlogin()
、環境変数を使う方法があります。
getpass.getuser()
を使う方法
最も簡単でポータブルな方法は、getpass
モジュールのgetuser()
を使うことです。この方法はWindowsとUnixの両方で動作します。
import getpass
username = getpass.getuser()
print(username)
os.getlogin()
との違い
os.getlogin()
は、ターミナルセッションに基づいてユーザー名を取得しますが、仮想環境やサービスモードでは動作しないことがあるため、注意が必要です。
import os
username = os.getlogin()
環境変数を使用する
os.environ
を使って環境変数からユーザー名を取得する方法もありますが、セキュリティ上のリスクがあります。環境変数はユーザーが変更できるため、認証目的には不向きです。
import os
username = os.environ.get('USERNAME') or os.environ.get('USER')
まとめ
Python
で現在のユーザー名を取得するには、getpass.getuser()
が最も汎用的で安全な方法です。状況に応じてos.getlogin()
や環境変数を使う方法もありますが、注意が必要です。