os.path.splitext(path):
将路径名称 path 拆分为 (root, ext) 对使得 root + ext == path,并且扩展名 ext 为空或以句点打头并最多只包含一个句点。
如果路径 path 不包含扩展名,则 ext 将为 ‘’
例如:
path = '/home/user/documents/report.txt'
import os
path = '/home/user/documents/report.txt'
directory, filename = os.path.split(path)
# 输出:'/home/user/documents/report'
# 输出: '.txt'
---
path = '/home/user/documents/'
directory, filename = os.path.splitext(path)
# 输出:'/home/user/documents/'
# 输出: ''
---
path = '/home/user/documents'
directory, filename = os.path.splitext(path)
# 输出:'/home/user/documents/'
# 输出: ''
---
如果路径 path 包含扩展名,则 ext 将被设为该扩展名,包括打头的句点。 请注意在其之前的句点将被忽略:
path = '/home/user/documents/report.txt.exe'
directory, filename = os.path.splitext(path)
# 输出:'/home/user/documents/report.txt'
# 输出: '.exe'
---
path 中最后一部分如果以点号开头则会被视为 root 的一部分:
path = '.txt.exe'
directory, filename = os.path.splitext(path)
# 输出:'.txt'
# 输出: '.exe'
---
path = '/home/user/documents/report.........exe'
directory, filename = os.path.splitext(path)
# 输出:'/home/user/documents/report........'
# 输出: '.exe'
---
path = '/home/user/documents/.........exe'
directory, filename = os.path.splitext(path)
# 输出:'/home/user/documents/.........exe'
# 输出: ''
os.path.split(path):
将路径 path 拆分为一对,即 (head, tail),其中,tail 是路径的最后一部分,而 head 里是除最后部分外的所有内容。tail 部分不会包含斜杠,如果 path 以斜杠结尾,则 tail 将为空。如果 path 中没有斜杠,head 将为空。如果 path 为空,则 head 和 tail 均为空。head 末尾的斜杠会被去掉,除非它是根目录(即它仅包含一个或多个斜杠)。在所有情况下,join(head, tail) 指向的位置都与 path 相同(但字符串可能不同)。
例如:
path = '/home/user/documents/report.txt'
import os
path = '/home/user/documents/report.txt'
directory, filename = os.path.split(path)
print(directory) # 输出: /home/user/documents
print(filename) # 输出: report.txt
---
path = '/home/user/documents'
directory, filename = os.path.split(path)
# 输出: /home/user
# 输出: documents
---
path = '/home/user/documents/'
directory, filename = os.path.split(path)
# 输出: /home/user/documents
# 输出: ''