1. ホーム
  2. python

[解決済み] Pythonで現在のユーザー名を取得するポータブルな方法はありますか?

2022-03-14 19:32:39

質問

Pythonで現在のユーザのユーザ名を取得するポータブルな方法はありますか(つまり、少なくともLinuxとWindowsの両方で動作するもの)。 それは次のように動作するでしょう os.getuid :

>>> os.getuid()
42
>>> os.getusername()
'slartibartfast'

ググってみたのですが、決定的な答えが見つからず驚きました(私のググり方が悪かっただけかもしれませんが)。 その pwd モジュールは、例えばLinuxでは比較的簡単にこれを実現する方法を提供しますが、Windowsには存在しません。 検索結果の中には、Windowsでユーザー名を取得するのは、特定の状況(例えば、Windowsサービスとして動作しているなど)では複雑になる可能性があると示唆するものもありましたが、私はそれを検証したわけではありません。

解決するには?

ご覧ください 通行許可証 モジュール

import getpass
getpass.getuser()
'kostya'

可用性 Unix、Windows


p.s. 下のコメントにつきまして " この関数は、さまざまな環境変数の値を見て、ユーザー名を決定します。したがって、この関数はアクセス制御の目的には当てになりません(あるいは、どんなユーザーでも他のユーザーになりすますことができるため、他の目的にも当てにならないかもしれません)。 "。