如何让Python在Windows中获取用户名,然后在脚本中实现它

时间:2012-11-30 22:29:36

标签: python

我知道使用 getpass.getuser()命令,我可以获取用户名,但是如何自动在以下脚本中实现?所以我希望python找到用户名,然后在下面的脚本中实现它。

脚本:os.path.join('..','Documents and Settings','USERNAME','Desktop'))

(正在使用Python版本2.7)

10 个答案:

答案 0 :(得分:35)

os.getlogin()对我来说不存在。然而,我在os.getenv('username')取得了成功。

答案 1 :(得分:30)

os.getlogin()返回正在执行的用户,因此可以是:

path = os.path.join('..','Documents and Settings',os.getlogin(),'Desktop')

或使用getpass.getuser()

path = os.path.join('..','Documents and Settings',getpass.getuser(),'Desktop')

如果我理解你的要求。

答案 2 :(得分:4)

安装win32com,然后:

from win32com.shell import shell, shellcon
print shell.SHGetFolderPath(0, shellcon.CSIDL_DESKTOP, None, 0)

答案 3 :(得分:4)

>>> os.path.join(os.path.expandvars("%userprofile%"),"Documents and Settings")
'C:\\Users\\USERNAME\\Documents and Settings'

应该足够了......我认为那就是你的实际意思..

答案 4 :(得分:1)

如果您需要桌面目录,Windows 7有一个环境变量:DESKTOP

>>> import os
>>> print os.environ['desktop']
C:\Users\KingMac\Desktop

答案 5 :(得分:1)

您也可以尝试以下操作:

@Override
public boolean onPrepareOptionsMenu(Menu menu) {
        return false;
}

这样做的好处是您可以直接获得类似以下的输出:

C:\\Users\\user_name

答案 6 :(得分:0)

这适用于 Python 3。*

os.path.join(os.environ['HOME'] + "/Documents and Settings")

答案 7 :(得分:0)

获取当前用户名: 在代码中添加导入操作系统 然后使用:

print(os.getlogin())

OR

print(os.getenv('username'))

如果您从c驱动器获取完整路径,请使用以下命令:

print(os.environ['USERPROFILE']) #C:\Users\username

答案 8 :(得分:0)

import os后跟os.getlogin()在macOS 带有python 3.7的Windows上工作

之后,您可以执行以下操作:

path = ''.join(('C:/Users/', os.getlogin(), '/Desktop/'))

答案 9 :(得分:-1)

获取当前用户目录,您也可以使用此目录:

from os.path import expanduser
home = expanduser("~\buildconf")