当前位置:
首页 > Python基础教程 >
-
Python科研武器库 - 字符串操作 - 路径字符串分割 os.path.split()、os.path.splitext()
使用场景:
科研中批量处理数据时的,文件路径分割以及文件格式判断。
对于文件格式判断,是因为实际文件的格式多种多样,就拿图像为例,就有.png .jpg .bmp等等。
更不用说,有时候还有一些干扰文件需要屏蔽(比如Mac系统的.DS_Store文件)。
这就需要我们判断文件格式,再对特定格式的文件进行操作。
使用函数:
文件路径分割
os.path.split()
用于将路径拆分为头部和尾部。尾部是路径的最后一个组成部分,而头部是指“尾部”部分前的所有内容。
这里需注意,文件路径的os.path.split(),与字符串的split()有所不同,
字符串split()的用法详见我另一篇博客:
文件格式判断
os.path.splitext()
用于将路径名拆分为root和ext。其中,ext代表扩展名(extension),表示指定路径(文件)的扩展名部分,而root是除ext部分之外的所有内容。
若指定路径中不包括任何扩展名,则ext为空。如果指定路径以句点 (.) 开头,则会被忽略。
代码示例:
import os
path = '/home/Lingdu/Desktop/lingdu.txt'
head_tail = os.path.split(path)
print("Head of '% s:'" % path, head_tail[0])
print("Tail of '% s:'" % path, head_tail[1], "\n")
path = '/home/Lingdu/Desktop/'
head_tail = os.path.split(path)
print("Head of '% s:'" % path, head_tail[0])
print("Tail of '% s:'" % path, head_tail[1], "\n")
path = 'lingdu.txt'
head_tail = os.path.split(path)
print("Head of '% s:'" % path, head_tail[0])
print("Tail of '% s:'" % path, head_tail[1])
运行效果:
Head of '/home/Lingdu/Desktop/lingdu.txt:' /home/Lingdu/Desktop
Tail of '/home/Lingdu/Desktop/lingdu.txt:' lingdu.txt
Head of '/home/Lingdu/Desktop/:' /home/Lingdu/Desktop
Tail of '/home/Lingdu/Desktop/:'
Head of 'lingdu.txt:'
Tail of 'lingdu.txt:' lingdu.txt
代码示例:
import os
path = '/home/Lingdu/Desktop/lingdu.txt'
root_ext = os.path.splitext(path)
print("Root part of '% s':" % path, root_ext[0])
print("Ext part of '% s':" % path, root_ext[1], "\n")
path = './home/Lingdu/Desktop/'
root_ext = os.path.splitext(path)
print("Root part of '% s':" % path, root_ext[0])
print("Ext part of '% s':" % path, root_ext[1])
运行效果:
Root part of '/home/Lingdu/Desktop/lingdu.txt': /home/Lingdu/Desktop/lingdu
Ext part of '/home/Lingdu/Desktop/lingdu.txt': .txt
Root part of './home/Lingdu/Desktop/': ./home/Lingdu/Desktop/
Ext part of './home/Lingdu/Desktop/':
来源:https://www.cnblogs.com/lingdu98/p/18328482
栏目列表
最新更新
求1000阶乘的结果末尾有多少个0
详解MyBatis延迟加载是如何实现的
IDEA 控制台中文乱码4种解决方案
SpringBoot中版本兼容性处理的实现示例
Spring的IOC解决程序耦合的实现
详解Spring多数据源如何切换
Java报错:UnsupportedOperationException in Col
使用Spring Batch实现批处理任务的详细教程
java中怎么将多个音频文件拼接合成一个
SpringBoot整合ES多个精确值查询 terms功能实
数据库审计与智能监控:从日志分析到异
SQL Server 中的数据类型隐式转换问题
SQL Server中T-SQL 数据类型转换详解
sqlserver 数据类型转换小实验
SQL Server数据类型转换方法
SQL Server 2017无法连接到服务器的问题解决
SQLServer地址搜索性能优化
Sql Server查询性能优化之不可小觑的书签查
SQL Server数据库的高性能优化经验总结
SQL SERVER性能优化综述(很好的总结,不要错
uniapp/H5 获取手机桌面壁纸 (静态壁纸)
[前端] DNS解析与优化
为什么在js中需要添加addEventListener()?
JS模块化系统
js通过Object.defineProperty() 定义和控制对象
这是目前我见过最好的跨域解决方案!
减少回流与重绘
减少回流与重绘
如何使用KrpanoToolJS在浏览器切图
performance.now() 与 Date.now() 对比