如何使用python查找真实的用户主目录?

我看到如果我们更改HOME(linux)或USERPROFILE(windows)环境变量并运行python脚本,当我尝试时,它将返回新值作为用户主目录os.environ

[‘HOME’] os.exp

有什么方法可以在不依赖环境变量的情况下找到真实的用户主目录?

这是一种通过阅读注册表http://mail.python.org/pipermail/python-

win32/2008-January/006677.html在Windows中查找userhome的方法。

一种使用pywin32查找Windows Home的方法,

from win32com.shell import shell,shellcon

home = shell.SHGetFolderPath(0, shellcon.CSIDL_PROFILE, None, 0)

回答:

我认为os.path.expanduser(path)可能会有所帮助。

在Unix和Windows上,以该用户的主目录的初始组件~~user由该用户的主目录替换的参数返回该参数。

在Unix上,~如果设置了初始,则将其替换为环境变量HOME;否则,将其替换为环境变量HOME。否则,通过内置模块在密码目录中查找当前用户的主目录pwd

在Windows上,如果已设置,则将使用HOME和USERPROFILE,否则将使用 的 。

如果扩展失败,或者路径不是以波浪号开头,则路径将保持不变。

因此,您可以这样做:

os.path.expanduser('~user')

以上是 如何使用python查找真实的用户主目录? 的全部内容, 来源链接: utcz.com/qa/404051.html

回到顶部