os.path.basename()和os.path.dirname()之间有什么区别?

时间:2014-03-08 16:35:07

标签: python

我是Python编程的新手,在学习的过程中,我对这两个函数产生了疑问。 我已经搜索了答案并阅读了一些链接,但没有理解。任何人都可以给出一些简单的解释吗?

2 个答案:

答案 0 :(得分:208)

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

os.path.dirname(path)函数返回路径的头部。

例如:'/foo/bar/item'的目录是'/foo/bar'

os.path.basename(path)函数返回路径的尾部。

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

来自:http://docs.python.org/2/library/os.path.html#os.path.basename

答案 1 :(得分:1)

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

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

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

os.path.basename(path)返回字符串'myfile.py'

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

在必须给定完整路径名的文件名/目录名称时使用这些函数。

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