Python 是否可以使pathlib将路径中的尾随斜杠视为重要斜杠?
在处理Python 是否可以使pathlib将路径中的尾随斜杠视为重要斜杠?,python,python-3.x,path,pathlib,trailing-slash,Python,Python 3.x,Path,Pathlib,Trailing Slash,在处理pathlib.Path中的尾部斜杠时,特别是在Unix系统(如和)上,对该问题进行了多次讨论 给定由字符串构造的pathlib.Path,我想知道什么是确保Path对象中保留尾部斜杠的最佳方法,就像os模块那样 >>> os.path.dirname("/a/b/") '/a/b' >>> os.path.dirname("/a/b") '/a' os模块理解“/a/b/”和“/a/b”之间的区别,但是pathlib没有: >>>
pathlib.Path
中的尾部斜杠时,特别是在Unix系统(如和)上,对该问题进行了多次讨论
给定由字符串构造的pathlib.Path
,我想知道什么是确保Path
对象中保留尾部斜杠的最佳方法,就像os
模块那样
>>> os.path.dirname("/a/b/")
'/a/b'
>>> os.path.dirname("/a/b")
'/a'
os
模块理解“/a/b/”
和“/a/b”
之间的区别,但是pathlib
没有:
>>> Path("/a/b/").parent
PosixPath('/a')
有没有办法区分指向文件(没有尾随斜杠)和目录(有尾随斜杠)的路径?或者在这种特殊情况下,我必须切换到使用os
模块
如果不可能,那么利用
pathlib
和处理尾部斜杠问题的合理解决方法是什么?这看起来像是一个低级路径操作,因此我将使用os
模块(如pathlib所建议的那样)
这将添加尾随斜杠,OS独立:
os.path.join(os.path.abspath("/a/b/"), "")
这看起来像是一个低级的路径操作,因此我将使用
os
模块(如pathlib所建议的)
这将添加尾随斜杠,OS独立:
os.path.join(os.path.abspath("/a/b/"), "")