获取主目录的跨平台方法是什么?

新手上路,请多包涵

我需要获取当前登录用户的主目录的位置。目前,我一直在 Linux 上使用以下内容:

 os.getenv("HOME")

但是,这在 Windows 上不起作用。什么是正确的跨平台方式来做到这一点?

原文由 Nathan Osman 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 738
2 个回答

您想使用 os.path.expanduser

这将确保它适用于所有平台:

 from os.path import expanduser
home = expanduser("~")

如果您使用的是 Python 3.5+ ,则可以使用 pathlib.Path.home()

 from pathlib import Path
home = str(Path.home())

原文由 dcolish 发布,翻译遵循 CC BY-SA 4.0 许可协议

我发现 pathlib 模块也支持这个。

 from pathlib import Path
>>> Path.home()
WindowsPath('C:/Users/XXX')

原文由 Jaeyoon Jeong 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题