Просто используйте .Name
следующим образом:
typeof(T).Name
Это дает, например, «String», также .FullName
, который даст «System.String»
Look at getpass module
import getpass
getpass.getuser()
'kostya'
Availability: Unix, Windows
p.s. Per comment below "this function looks at the values of various environment variables to determine the user name. Therefore, this function should not be relied on for access control purposes (or possibly any other purpose, since it allows any user to impersonate any other)."
Вы, вероятно, можете использовать:
os.environ.get('USERNAME')
или
os.environ.get('USER')
Но это будет небезопасно, потому что переменные среды можно изменить.
Они могут сработать. Я не знаю, как они ведут себя при работе в качестве сервиса. Они не портативные, но это то, что os.name
и если
утверждения для.
win32api.GetUserName()
win32api.GetUserNameEx(...)
Смотрите: http://timgolden.me.uk/python/win32_how_do_i/get-the-owner-of-a-file.html
Некоторое время назад я написал модуль plx, чтобы получить имя пользователя портативным способом на Unix и Windows (среди прочего): http://www.decalage.info/en/python/plx
Использование:
import plx
username = plx.get_username()
(для него требуются win32 расширения на Windows)
. Лучше всего объединить os.getuid ()
с pwd.getpwuid ()
:
import os
import pwd
def get_username():
return pwd.getpwuid( os.getuid() )[ 0 ]
Обратитесь к документации pwd для подробнее: