os.path.split() 是一个内置的 Python 函数,它将一个路径分成两部分:最后一个斜线之前的所有内容和之后的所有内容。OS 模块提供了与操作系统交互的方法和属性。它属于 Python 的标准实用模块。让我们看看如何使用 os.path.splitext() 方法和它的各种用例。
P****ython os.path.splitext()
os.path.splitext()是一个内置的Python函数,它将路径名分割成root和ext这一对。ext代表扩展名,有指定路径的扩展部分,而root是除了ext部分以外的所有内容。
要在Python中提取文件名的扩展名,可以使用os.path.splitext()方法。
如果ext是空的,这意味着指定的路径没有任何扩展名。如果指定的路径有一个领先的句号('.'),它将被忽略。
语法
os.path.splitext(path)
参数
它是一个代表文件系统路径的类路径对象。系统类路径对象是一个字符串或字节对象,代表一个路径。
返回值
**splitext()**方法返回一个元组,代表指定路径名的根和ext部分。
例子
让我们定义一个完整的路径并将该路径传递给 os.path.splitext() 方法。
import os
path = "/Users/krunal/Desktop/code/pyt/app.pyt"
root_extension = os.path.splitext(path)
print("The output tuple", root_extension)
print("The root part is: ", root_extension[0])
print("The ext part is: ", root_extension[1])
输出结果
The output tuple ('/Users/krunal/Desktop/code/pyt/app', '.pyt')
The root part is: /Users/krunal/Desktop/code/pyt/app
The ext part is: .pyt
你可以看到,第一个输出是一个完整的元组,包含文件路径的根和扩展名。
第二个输出是完整路径中只有根部的部分。
第三个输出只有完整路径的扩展部分。
os.path.splitext()函数在最后一个(右边)点上进行分割。如果你想按第一个(左边)点分割,请使用os.path.split()函数。
要从文件路径中提取一个目录名,使用os.path.dirname()函数。
用+运算符连接返回原始路径字符串。
import os
path = "/Users/krunal/Desktop/code/pyt/app.pyt"
root, extension = os.path.splitext(path)
print(root)
print(extension)
full_path = root + extension
print(full_path)
输出
/Users/krunal/Desktop/code/pyt/app
.pyt
/Users/krunal/Desktop/code/pyt/app.pyt
获取不含点(period)的扩展名
要从Python中不含点或句号的文件路径中获取扩展名,将splitext()输出的ext部分切开。
import os
path = "/Users/krunal/Desktop/code/pyt/app.pyt"
root, extension = os.path.splitext(path)
print(root)
print(extension[1:])
输出
/Users/krunal/Desktop/code/pyt/app
pyt
创建一个具有不同扩展名的路径字符串
要创建一个与原始文件串只有扩展名变化的文件串,你首先需要将**os.path.splitxt()**返回的元组的根与任何扩展名连接起来,你将得到一个新的文件路径,并有一个新的文件名。
import os
path = "/Users/krunal/Desktop/code/pyt/app.pyt"
root, extension = os.path.splitext(path)
print(root)
print(extension)
new_full_path = root + '.sql'
print(new_full_path)
输出
/Users/krunal/Desktop/code/pyt/app
.pyt
/Users/krunal/Desktop/code/pyt/app.sql
本教程就到此为止。
参见
The postPython os.path.splitext() Function:完整指南出现在AppDividend上。