37

我知道使用 getpass.getuser()命令,我可以得到用户名,但是我怎样才能在下面的脚本中自动实现呢?所以我想让python找到用户名,然后在下面的脚本中实现它。

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

(正在使用 Python 2.7 版)

4

10 回答 10

69

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

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

或者,使用 getpass.getuser()

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

如果我明白你的要求。

于 2012-11-30T22:41:37.863 回答
46

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

于 2015-03-19T20:08:59.000 回答
6
>>> os.path.join(os.path.expandvars("%userprofile%"),"Documents and Settings")
'C:\\Users\\USERNAME\\Documents and Settings'

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

于 2012-11-30T22:45:27.043 回答
5

安装win32com,然后:

from win32com.shell import shell, shellcon
print shell.SHGetFolderPath(0, shellcon.CSIDL_DESKTOP, None, 0)
于 2012-11-30T22:42:01.560 回答
4

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

print(os.getlogin())

或者

print(os.getenv('username'))

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

print(os.environ['USERPROFILE']) #C:\Users\username
于 2020-09-08T08:54:32.587 回答
3

如果你想要桌面目录,Windows 7 有一个环境变量DESKTOP

>>> import os
>>> print os.environ['desktop']
C:\Users\KingMac\Desktop
于 2017-11-23T09:01:28.613 回答
2

要获取当前用户目录,您还可以使用以下命令:

from os.path import expanduser
home = expanduser("~\buildconf")
于 2016-06-24T11:34:46.640 回答
2

您也可以尝试以下方法:


import os
print (os.environ['USERPROFILE'])

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

C:\\用户\\用户名
于 2020-07-20T12:48:11.953 回答
2

import os随后使用 python 3.7os.getlogin()在 macOSWindows 上工作

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

path = ''.join(('C:/Users/', os.getlogin(), '/Desktop/'))
于 2020-09-24T17:34:46.220 回答
0

这也适用于Python 3.*

os.path.join(os.environ['HOME'] + "/Documents and Settings")
于 2017-10-20T11:23:48.873 回答