基本概念

os.path.split()通过一对链表的头和尾来划分路径名。链表的tail是是最后的路径名元素。head则是它前面的元素。

举个例子:

path name = '/home/User/Desktop/file.txt'

在上面的这个例子中,路径名字file.txt称之为tail 路径‘/home/User/Desktop/’ 称之为head。tail部分永远不会包含斜杠符号。如果这个路径名字以斜杠结束,那么tail就是为空。
如果没有斜杠在路径中,那么head是为空的。下面是详细的参数:

path head tail
‘/home/user/Desktop/file.txt’ ‘/home/user/Desktop/’ ‘file.txt’
‘/home/user/Desktop/’ ‘/home/user/Desktop/’ {empty}
‘file.txt’ {empty} ‘file.txt’

实例分析

1 实例一:

# Python program to explain os.path.split() method  
    
# importing os module  
import os 
  
# path 
path = '/home/User/Desktop/file.txt'
  
# Split the path in  
# head and tail pair 
head_tail = os.path.split(path) 
  
# print head and tail 
# of the specified path 
print("Head of '% s:'" % path, head_tail[0]) 
print("Tail of '% s:'" % path, head_tail[1], "\n") 
  
  
# path 
path = '/home/User/Desktop/'
  
# Split the path in  
# head and tail pair 
head_tail = os.path.split(path) 
  
# print head and tail 
# of the specified path 
print("Head of '% s:'" % path, head_tail[0]) 
print("Tail of '% s:'" % path, head_tail[1], "\n") 
  
# path 
path = 'file.txt'
  
# Split the path in  
# head and tail pair 
head_tail = os.path.split(path) 
  
# print head and tail 
# of the specified path 
print("Head of '% s:'" % path, head_tail[0]) 
print("Tail of '% s:'" % path, head_tail[1]) 

2 结果:

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流QQ群:531509025
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
Head of '/home/User/Desktop/file.txt': /home/User/Desktop
Tail of '/home/User/Desktop/file.txt': file.txt 

Head of '/home/User/Desktop/': /home/User/Desktop
Tail of '/home/User/Desktop/':  

Head of 'file.txt': 
Tail of 'file.txt': file.txt

3 实例二

# Python program to explain os.path.split() method  
    
# importing os module  
import os 
  
# path 
path = '' 
  
# Split the path in  
# head and tail pair 
head_tail = os.path.split(path) 
  
# print head and tail 
# of the specified path 
print("Head of '% s':" % path, head_tail[0]) 
print("Tail of '% s':" % path, head_tail[1]) 
  
  
# os.path.split() function 
# will return empty 
# head and tail if  
# specified path is empty 

4 测试结果:

Head of '': 
Tail of '':