python3 split(),os.path.split()和os.path.splitext()

import os

infile = r'C:\Users\Public\Pictures\Sample Pictures\1.jpg'
print('1--->',os.path.splitext(infile))
print('2--->',os.path.split(infile))
print('3--->',infile.split('\\'))

结果:

 

 

### Python `os.path.splitext` `os.path.split` 的区别与使用场景 #### 功能差异 `os.path.split()` 函数用于将路径拆分为目录部分文件名部分。对于给定的路径 `/home/ubuntu/python/example.py`,该函数会将其分解为两个元素组成的元组:`('/home/ubuntu/python', 'example.py')`[^1]。 相比之下,`os.path.splitext()` 则专注于分离文件名及其扩展名。例如,当处理路径 `/home/user/documents/report.docx` 时,此函数能够提取出文件名为 `report` 并单独返回扩展名 `.docx`[^3]。 #### 返回值结构 - **`os.path.split(path)`**: 将输入路径分割成 `(head, tail)` 形式的元组,其中 `head` 是除了最后一级之外的所有级别构成的路径字符串;而 `tail` 即为最后一级名称(通常是一个文件或子目录的名字)。这适用于需要区分整个路径中除开最终节点外其他部分的情况。 - **`os.path.splitext(path)`**: 对于指定路径而言,它会产生一对结果——`(root, ext)`,这里 `root` 表示去掉扩展名后的基础文件名或者不带任何后缀的最后一层目录名;`ext` 则代表了从最后一个点号开始直到结束的部分作为文件类型的标志[^2]。 #### 实际应用场景 - 当开发人员希望解析并操作完整的文件系统路径时,比如遍历某个特定位置下的所有项目或是构建新的绝对地址链接,则应优先考虑采用 `os.path.split()` 方法来获取清晰明了的结果集。 - 若目标在于识别不同种类的数据对象(如图片、文档等),通过检查它们各自的格式标签来进行分类管理的话,那么利用 `os.path.splitext()` 来快速取得每项资源对应的拓展信息无疑是最合适不过的选择了。 ```python import os file_path = "/home/user/documents/report.docx" # 使用 os.path.split() directory, filename = os.path.split(file_path) print(f"Directory: {directory}, Filename: {filename}") # 使用 os.path.splitext() name_without_ext, extension = os.path.splitext(os.path.basename(file_path)) print(f"Name without extension: {name_without_ext}, Extension: {extension}") ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值