python中的split()函数和os.path.split()函数使用详解


Posted in Python onDecember 21, 2019

Python中有split()和os.path.split()两个函数:

split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表。

os.path.split():将文件名和路径分割开。

1、split()函数

语法:str.split(str=" ",num=string.count(str))[n]

参数说明:

str: 表示为分隔符,默认为空格,但是不能为空串。若字符串中没有分隔符,则把整个字符串作为列表的一个元素。

num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串。

[n]: 表示选取第n个分片(从0计数)

默认情况下,使用空格作为分隔符,则分隔后,空串会自动忽略,如:

>>> s='love  python'

>>> s.split()
['love', 'python']

但若显式指定空格为分隔符,则不会自动忽略空串,如:

>>> s.split(' ')
['love', '', '', '', 'python']

默认的分隔符除了空格,还有 '\n\t\r',分隔后,空串会自动忽略,如下:

>>> s='love \n\t\r \t\r\n python \n\t\r'
>>> s.split()
['love', 'python']



>>> s='www.pku.edu.cn'
>>> s.split() #默认空格作为分隔符,但字符串中没有分隔符,因此,把整个字符串作为列表的一个元素
['www.pku.edu.cn']

>>> s.split('.') #以'.'作为分隔符,没有指定分隔次数,则有多少 '.' 就分隔多少次
['www', 'pku', 'edu', 'cn']

>>> s.split('.',0) #分隔0次
['www.pku.edu.cn']

>>> s.split('.',1) #分隔1次
['www', 'pku.edu.cn']

>>> s.split('.',2)#分隔2次
['www', 'pku', 'edu.cn']

>>> s.split('.',2)[1]#分隔2次,取索引为1的项
'pku'

>>> s.split('.',-1) #尽可能多的分隔,与不加num参数相同
['www', 'pku', 'edu', 'cn']

>>> s1,s2=s.split('.',1)#分隔1次,并把分隔后的2个字符串存放在s1和s2中
>>> s1
'www'
>>> s2
'pku.edu.cn'

>>> s='''love
... hello
... python'''
>>> s
'love\nhello\npython'
>>> s.split('\n')#以'\n'作为分隔符,分隔次数尽可能的多
['love', 'hello', 'python']
>>> print s
love
hello
python

练习一下下面的例子:

>>> s='hello python<[www.python.com]>hello python'
>>> s.split('[')[1].split(']')[0]
'www.python.com'
>>> s.split('[')[1].split(']')[0].split('.')
['www', 'python', 'com']

2、os.path.split()函数

语法:os.path.split('PATH')

参数说明:

PATH指一个文件的全路径作为参数:

如果给出的是一个目录和文件名,则输出路径和文件名

如果给出的是一个目录名,则输出路径和为空文件名

实际上,该函数的分割并不智能,它仅仅是以 "PATH" 中最后一个 '/' 作为分隔符,分隔后,将索引为0的视为目录(路径),将索引为1的视为文件名,如:

>>> import os
>>> os.path.split('C:/soft/python/test.py')
('C:/soft/python', 'test.py')
>>> os.path.split('C:/soft/python/test')
('C:/soft/python', 'test')
>>> os.path.split('C:/soft/python/')
('C:/soft/python', '')

以上这篇python中的split()函数和os.path.split()函数使用详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
10个易被忽视但应掌握的Python基本用法
Apr 01 Python
python中input()与raw_input()的区别分析
Feb 27 Python
Python中文件I/O高效操作处理的技巧分享
Feb 04 Python
Python实现针对给定单链表删除指定节点的方法
Apr 12 Python
Python 最大概率法进行汉语切分的方法
Dec 14 Python
python+opencv 读取文件夹下的所有图像并批量保存ROI的方法
Jan 10 Python
django框架基于模板 生成 excel(xls) 文件操作示例
Jun 19 Python
python实现本地批量ping多个IP的方法示例
Aug 07 Python
详解Pycharm出现out of memory的终极解决方法
Mar 03 Python
如何在Django中使用聚合的实现示例
Mar 23 Python
python matplotlib绘制三维图的示例
Sep 24 Python
Python下opencv库的安装过程及问题汇总
Jun 11 Python
python 操作hive pyhs2方式
Dec 21 #Python
python 消费 kafka 数据教程
Dec 21 #Python
python kafka 多线程消费者&amp;手动提交实例
Dec 21 #Python
Python序列类型的打包和解包实例
Dec 21 #Python
Python 使用threading+Queue实现线程池示例
Dec 21 #Python
Python CSV文件模块的使用案例分析
Dec 21 #Python
python实现的分析并统计nginx日志数据功能示例
Dec 21 #Python
You might like
学习discuz php 引入文件的方法DISCUZ_ROOT
2009/06/21 PHP
PHP的SQL注入过程分析
2012/01/06 PHP
shell脚本作为保证PHP脚本不挂掉的守护进程实例分享
2013/07/15 PHP
PHP生成数组再传给js的方法
2014/08/07 PHP
js电信网通双线自动选择技巧
2008/11/18 Javascript
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
jquery 选择器引擎sizzle浅析
2013/02/06 Javascript
获取非最后一列td值并将title设为该值的方法
2013/10/30 Javascript
JS+HTML5实现的前端购物车功能插件实例【附demo源码下载】
2016/10/17 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
2016/12/19 Javascript
javascript实现圣旨卷轴展开效果(代码分享)
2017/03/23 Javascript
JavaScript函数柯里化原理与用法分析
2017/03/31 Javascript
详解从angular-cli:1.0.0-beta.28.3升级到@angular/cli:1.0.0
2017/05/22 Javascript
angularjs $http实现form表单提交示例
2017/06/09 Javascript
基于JS实现网页中的选项卡(两种方法)
2017/06/16 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
react 创建单例组件的方法
2018/04/26 Javascript
echarts多条折线图动态分层的实现方法
2019/05/24 Javascript
Matplotlib 生成不同大小的subplots实例
2018/05/25 Python
Python实现将HTML转成PDF的方法分析
2019/05/04 Python
使用Html5、CSS实现文字阴影效果
2018/01/17 HTML / CSS
英国知名美妆护肤在线商城:Zest Beauty
2018/04/24 全球购物
亚洲最大的眼镜批发商和零售商之一:Glasseslit
2018/10/08 全球购物
荷兰家电购物网站:Expert.nl
2020/01/18 全球购物
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
解释一下钝化(Swap out)
2016/12/26 面试题
自考生毕业自我鉴定
2013/10/10 职场文书
书法比赛获奖感言
2014/02/10 职场文书
环保宣传标语
2014/06/12 职场文书
2015年前台个人工作总结
2015/04/03 职场文书
社区党员干部承诺书
2015/05/04 职场文书
毕业设计答辩开场白
2015/05/29 职场文书
运动会跳远广播稿
2015/08/19 职场文书
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android
Ruby使用Mysql2连接操作MySQL
2022/04/19 Ruby
浅谈Node的内存泄露问题
2022/05/06 NodeJs