我一直在寻找如何使用 pathlib 从
pathlib.PosixPath
获取字符串格式的真实路径。
我能找到的唯一解决方案是:
str(myPathObject.resolve())
这看起来很混乱。我错过了什么还是这是唯一存在的解决方案?
编辑:
为了澄清,这给了我一个字符串类型的文件路径
/opt/digglerz/projects
,这就是我想要的。这似乎是一个很长的路要走,有没有更好的办法?
resolve()
是个好主意,但是使用str
进行字面转换确实看起来有点混乱。我会根据您的需要使用 as_posix()
或 as_uri()
等内置方法。
了解您所说的“真实路径”的概念在不同情况和不同平台上可能会有所不同。
希望这有帮助!
从 3.6 开始,将 Path 对象转换回字符串的正确方法似乎是:
os.fspath(path)
使用 str:
str(my_path_object)
直接为您提供来自路径对象的字符串。
使用字符串格式化:
f'The path is {my_path_object}'
,例如,间接调用 str() 并格式化路径对象。