当前位置: 首页 > 面试题库 >

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

袁志专
2023-03-14
问题内容

我看到如果我们更改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
最初~user在口令目录直接抬起头来

在Windows上,如果已设置,则将使用HOME和USERPROFILE,否则将使用 HOMEPATH和HOMEDRIVE组合
通过从上面派生的创建的用户路径中删除最后一个目录组件来处理 首字母~user缩写

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

因此,您可以这样做:

os.path.expanduser('~user')


 类似资料:
  • 问题内容: 如何在Grails中找到任意用户的主目录?在Linux上,通常是/ home / user。但是,在某些操作系统上,例如OpenSolaris,路径为/ export / home / user。 问题答案: 对于类似UNIX的系统,您可能希望使用shell 执行“ ”(因此可使用运行)。

  • 问题内容: 我正在尝试从具有命名空间的Word文档中查找所有内容,但我不知道语法到底是什么。 这些文档仅涵盖了非常简单的情况,并加入了URN和VML组合,我似乎无法从网上看到我能看到的任何示例。有人碰巧知道这是什么吗? 我正在尝试做这样的事情: 编辑:@aneroid写的是1000%正确的答案,超级有帮助。您应该对此投票。就是说,在理解了所有内容之后- 我接受了BS4的答案,因为它完全按照我的要求

  • 本文向大家介绍如何使用Python检查目录的权限?,包括了如何使用Python检查目录的权限?的使用技巧和注意事项,需要的朋友参考一下 您可以使用os.access(path,mode)来检查目录权限以及读取,写入和执行权限的模式。为了能够写,您还需要检查执行权限。例如, 您还可以遵循一个通用的Python习惯用法:寻求宽容比获得许可要容易。按照该习惯用法,您应该尝试写入有问题的目录,如果没有权限

  • 本文向大家介绍Powershell 查找用户的主SMTP地址,包括了Powershell 查找用户的主SMTP地址的使用技巧和注意事项,需要的朋友参考一下 今天同事让我生成一个报表,列出用户的主SMTP地址后缀是@aus.ddb.com的用户。 Get-ADUser可以直接获取相关信息,不过主SMTP是隐藏在ProxyAddress这个属性里面的,如果1个用户有多个邮件地址,大写的SMTP的那个就

  • 问题内容: 以下是HTML结构: 并且有一个config.py供用户输入。如果用户在config.code中输入23456,Selenium python如何选择第二个对象?我用来查找和选择对象,但是只能选择第一个对象,即 Code =‘12345’ 。我尝试使用,但这是元素而不是元素。任何人都可以帮助..... 问题答案: 要根据用户使用Selenium和python的输入来定位元素,您需要为引