How to get the home directory in Python?
我需要获取当前登录用户的主目录的位置。目前,我在Linux上使用了以下功能:
但是,这在Windows上不起作用。正确的跨平台方式是什么?
您要使用os.path.expanduser。这将确保它在所有平台上工作
1 2
| from os.path import expanduser
home = expanduser("~") |
如果您使用的是python 3.5+,那么可以使用pathlib.path.home():
1 2
| from pathlib import Path
home = str(Path.home()) |
号
- 应该注意的是,如果用户登录到Windows上的域,并在Active Directory中设置了其配置文件主文件夹,那么这将报告映射的网络文件夹而不是本地主目录。
- 如果任何人只需要主目录而不是用户目录,您可以尝试查找用户目录(ud)并执行以下操作:hd=os.sep.join(ud.split(os.sep)[:-1])。
- 我在sudo下运行了一个cli应用程序,它使用根目录而不是sudoer目录。解决方案:stackoverflow.com/questions/5721529/…
- 从python3.5起提供pathlib.Path.home()(docs.python.org/3/library/pathlib.html pathlib.path.home)
- 我想知道为什么没有人在这个问题中提到它,但是如果你需要知道另一个用户的主目录在哪里,你可以使用os.path.expanduser('~username')。可能只适用于Linux。