您的位置:首页 > 编程语言 > Python开发

spilt函数 详解 for Python

2017-12-05 00:00 113 查看
摘要: split()
os.path.split()

本文通过实例详解Python中的split()函数的使用方法,split()函数的使用是Python学习中的基础知识,通常用于讲字符串切片并转换为列表。

函数:spilt()

Python中有 split()os.path.split()两个函数,具体作用如下:

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

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

一、函数说明

1、split()函数

语法:

str.split(str="", num=string.count(str))

参数说明:

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

num:表示分割次数。如果存在参数num,则仅分割成 num+1 个字符串,并且每一个子字符串可以赋给新的变量。

:表示选取第 n 个分片。

注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略。

2、os.path.split()函数

语法:

os.path.split('PATH')

参数说明:

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

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

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

二、实例

1、常用实例

In [1]: u = "www.magedu.com"
# 使用默认分隔符
In [2]: print(u.split())
['www.magedu.com']
# 以"."为分隔符
In [3]: print(u.split('.'))
['www', 'magedu', 'com']
# 分割0次
In [4]: print(u.split('.', 0))
['www.magedu.com']
# 分割1次
In [5]: print(u.split('.', 1))
['www', 'magedu.com']
# 分割2次
In [6]: print(u.split('.', 2))
['www', 'magedu', 'com']
# 分割两次,并取序列为1的项
In [7]: print(u.split('.', 2)[1])
magedu
# 分割两次,并取最后一项
In [8]: print(u.split('.', 2)[-1])
com
# 分割最多次(实际效果与不加num参数相同)
In [9]: print(u.split('.', -1))
['www', 'magedu', 'com']
# 分割两次,并把分割后的三个部分,赋给三个变量
In [10]: u1, u2, u3 = u.split('.', 2)

In [11]: u1
Out[11]: 'www'

In [12]: u2
Out[12]: 'magedu'

In [13]: u3
Out[13]: 'com'

In [14]:


2、去掉换行符

In [14]: c = '''say
...: hello
...: miracle'''

In [15]: print(c)
say
hello
miracle

In [16]: print(c.split('\n'))
['say', 'hello', 'miracle']

In [17]:


3、分离文件名和路径

In [17]: import os

In [18]: print(os.path.split('/root/文档/window.py'))
('/root/文档', 'window.py')

In [19]: print(os.path.split('/root/文档/'))
('/root/文档', '')

In [20]:


4、一个超级棒的例子

In [25]: str = "hello magedu<[www.magedu.com]>didi"

In [26]: print(str.split("["))
['hello magedu<', 'www.magedu.com]>didi']

In [27]: print(str.split("[")[1])
www.magedu.com]>didi

In [28]: print(str.split("[")[1].split("]"))
['www.magedu.com', '>didi']

In [29]: print(str.split("[")[1].split("]")[0])
www.magedu.com

In [30]:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息