os.path.basename()和 os.path.dirname()有什么不同?
os.path.basename()
os.path.dirname()
我已经搜索答案和阅读一些链接,但不明白。 有人能给个简单的解释吗?
这两个函数都使用 os.path.split(path)函数将路径名 path分割成一对; (head, tail)。
os.path.split(path)
path
(head, tail)
函数返回路径的头部。
例如: '/foo/bar/item'的名字是 '/foo/bar'。
'/foo/bar/item'
'/foo/bar'
函数返回路径的尾部。
例如: '/foo/bar/item'的基名返回 'item'
'item'
发信人: http://docs.python.org/3/library/os.path.html#os.path.basename
总结一下上面布雷诺提到的内容
假设您有一个带有文件路径的变量
path = '/home/User/Desktop/myfile.py'
返回字符串 'myfile.py'
'myfile.py'
还有
os.path.dirname(path)返回字符串 '/home/User/Desktop'(不带尾部斜杠’/’)
os.path.dirname(path)
'/home/User/Desktop'
当您必须获得给定完整路径名的文件名/目录名时,可以使用这些函数。
如果文件路径只是文件名(例如,你只有 myfile.py而不是 path = '/home/User/Desktop/myfile.py') ,os.path.dirname(path)返回一个空字符串。
myfile.py