在某些情况下,目录路径将终止 用“ /”字符表示 问题是目录而不是文件。
os.path.dirname函数应该返回 父目录名称,但是当出现“ /”时 在路径字符串的末尾,目录本身 而不返回父目录。
示例:
>>> os.path.dirname("/a/b/c/d/e/f")
'/a/b/c/d/e' <----- correct
>>> os.path.dirname("/a/b/c/d/e/f/")
'/a/b/c/d/e/f' <-----------------should be '/a/b/c/d/e'
似乎需要测试“ /”字符 像这样:
如果s [-1] ==“ /”: s = s [:-1]
此功能的作用方式是否存在, 还是这是一个实际的错误?如果是错误,我该如何归档 还是有人可以归档?
答案 0 :(得分:0)
实际上,os.path.dirname
根本不返回父目录名称。来自python docs:
os.path.dirname(path)
返回路径名path的目录名。这个 是通过将路径传递到而返回的对中的第一个元素 函数split()。
或者您也可以使用内置的帮助功能:
>>> import os
>>> help(os.path.dirname)
Help on function dirname in module ntpath:
dirname(p)
Returns the directory component of a pathname
基本上看起来像是给定路径,dirname试图找到它的目录componenet。对于文件,请确保这意味着该文件所在的目录,但是对于目录,对我来说,返回目录本身似乎是合乎逻辑的。