現在のユーザーのユーザー名をPythonで取得するポータブルな方法はありますか(つまり、少なくともLinuxとWindowsの両方で機能する方法)。それは次のように機能しos.getuid
ます:
>>> os.getuid()
42
>>> os.getusername()
'slartibartfast'
私はぐるぐる回って決定的な答えを見つけられなかったことに驚きました(おそらく、私はただひたすらググっていたかもしれませんが)。PWDのモジュールは、たとえば、Linuxがこの下を達成するための比較的簡単な方法を提供していますが、それはWindows上で存在しません。一部の検索結果では、Windowsでのユーザー名の取得が特定の状況(Windowsサービスとして実行されている場合など)で複雑になる可能性があることが示唆されましたが、確認はしていません。
import pwd, os; print pwd.getpwuid(os.getuid()).pw_gecos
またはimport pwd, os; print pwd.getpwuid(os.getuid()).pw_name