Basename ()和 os.path.dirname ()之间的区别是什么?

os.path.basename()os.path.dirname()有什么不同?

我已经搜索答案和阅读一些链接,但不明白。 有人能给个简单的解释吗?

228298 次浏览

这两个函数都使用 os.path.split(path)函数将路径名 path分割成一对; (head, tail)

函数返回路径的头部。

例如: '/foo/bar/item'的名字是 '/foo/bar'

函数返回路径的尾部。

例如: '/foo/bar/item'的基名返回 'item'

发信人: http://docs.python.org/3/library/os.path.html#os.path.basename

总结一下上面布雷诺提到的内容

假设您有一个带有文件路径的变量

path = '/home/User/Desktop/myfile.py'

返回字符串 'myfile.py'

还有

os.path.dirname(path)返回字符串 '/home/User/Desktop'(不带尾部斜杠’/’)

当您必须获得给定完整路径名的文件名/目录名时,可以使用这些函数。

如果文件路径只是文件名(例如,你只有 myfile.py而不是 path = '/home/User/Desktop/myfile.py') ,os.path.dirname(path)返回一个空字符串。