我知道使用
getpass.getuser()
命令,我可以得到用户名,但是我怎样才能在下面的脚本中自动实现呢?所以我想让python找到用户名,然后在下面的脚本中实现它。
脚本:os.path.join('..','Documents and Settings','USERNAME','Desktop'))
(正在使用 Python 2.7 版)
我知道使用
getpass.getuser()
命令,我可以得到用户名,但是我怎样才能在下面的脚本中自动实现呢?所以我想让python找到用户名,然后在下面的脚本中实现它。
脚本:os.path.join('..','Documents and Settings','USERNAME','Desktop'))
(正在使用 Python 2.7 版)
os.getlogin()
返回正在执行的用户,所以它可以是:
path = os.path.join('..','Documents and Settings',os.getlogin(),'Desktop')
或者,使用 getpass.getuser()
path = os.path.join('..','Documents and Settings',getpass.getuser(),'Desktop')
如果我明白你的要求。
os.getlogin() 对我来说不存在。然而,我取得了成功os.getenv('username')
。
>>> os.path.join(os.path.expandvars("%userprofile%"),"Documents and Settings")
'C:\\Users\\USERNAME\\Documents and Settings'
应该足够了...我认为这就是您的实际意思..
安装win32com
,然后:
from win32com.shell import shell, shellcon
print shell.SHGetFolderPath(0, shellcon.CSIDL_DESKTOP, None, 0)
获取当前用户名:在代码中添加导入操作系统,然后使用:
print(os.getlogin())
或者
print(os.getenv('username'))
如果您从 c 驱动器获得完整路径,请使用以下命令:
print(os.environ['USERPROFILE']) #C:\Users\username
如果你想要桌面目录,Windows 7 有一个环境变量DESKTOP
:
>>> import os
>>> print os.environ['desktop']
C:\Users\KingMac\Desktop
要获取当前用户目录,您还可以使用以下命令:
from os.path import expanduser
home = expanduser("~\buildconf")
您也可以尝试以下方法:
import os
print (os.environ['USERPROFILE'])
这样做的好处是您可以直接获得如下输出:
C:\\用户\\用户名
import os
随后使用 python 3.7os.getlogin()
在 macOS和Windows 上工作
在此之后,您可以执行以下操作:
path = ''.join(('C:/Users/', os.getlogin(), '/Desktop/'))
这也适用于Python 3.*:
os.path.join(os.environ['HOME'] + "/Documents and Settings")