查看 Python 3.4 中新的 pathlib
模块,我注意到没有任何简单的方法可以获取用户的主目录。我能想到的获取用户主目录的唯一方法是使用旧的 os.path
lib,如下所示:
import pathlib
from os import path
p = pathlib.Path(path.expanduser("~"))
这看起来很笨重。有没有更好的办法?
原文由 Alex Bliskovsky 发布,翻译遵循 CC BY-SA 4.0 许可协议
查看 Python 3.4 中新的 pathlib
模块,我注意到没有任何简单的方法可以获取用户的主目录。我能想到的获取用户主目录的唯一方法是使用旧的 os.path
lib,如下所示:
import pathlib
from os import path
p = pathlib.Path(path.expanduser("~"))
这看起来很笨重。有没有更好的办法?
原文由 Alex Bliskovsky 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 python-3.5 开始,有 pathlib.Path.home()
,这在一定程度上改善了这种情况。
Windows 上的结果是
>>>pathlib.Path.home()
WindowsPath('C:/Users/username')
在 Linux 上
>>>pathlib.Path.home()
PosixPath('/home/username')
原文由 simon 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
4 回答935 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
似乎是在 此处 的错误报告中提出了此方法。编写了一些代码( 在此处 给出),但不幸的是,它似乎没有进入最终的 Python 3.4 版本。
顺便说一下,所提出的代码与您在问题中使用的代码非常相似:
编辑
这是一个基本的子类版本
PathTest
子类WindowsPath
(我在 Windows 机器上,但你可以用PosixPath
替换它)。它根据错误报告中提交的代码添加了classmethod
。