在Python读取文件一节中,我们使用到BIF(内置函数) open读取文件内容并逐行打印,在本节,我们对文件内容做一些调整并对每一行的数据来做处理。
以前的文件内容如图1所示。
图1
现在我们不想打印每一行的内容,而是打印每行中除去逗号的内容,怎么办呢?Python中字符串的BIF split(argg0,[arg1])--arg0拆分符,arg1拆分次数,arg1是可选的,默认是有多少拆分多少,该函数返回一个字符串数组:
>>> print("东陆之滇,有云山".split(","))
['东陆之滇', '有云山']
>>> print("东陆之滇,有云山,东陆之滇,有云山".split(",",1))
['东陆之滇', '有云山,东陆之滇,有云山'] ##可能不太明显,但是请注意全角半角符号
>>> print("东陆之滇-有云山-东陆之滇-有云山".split("-",1))
['东陆之滇', '有云山-东陆之滇-有云山']
"""
查看字符串的split函数说明
"""
>>> help(str.split)
Help on method_descriptor:
split(...)
S.split(sep=None, maxsplit=-1) -> list of strings
Return a list of the words in S, using sep as the
delimiter string. If maxsplit is given, at most maxsplit
splits are done. If sep is not specified or is None, any
whitespace string is a separator and empty strings are
removed from the result.
解析:返回字符串S中单词的列表,按给定的sep参数拆分,如果'maxsplit'没有指定,就按能拆分的最大次数拆分。如果'sep'没有指定或者为None,则任何空白符都是可拆分项,并且连续空白符按一个来拆分。
>>> "我爱 北京 天安门还有故宫".split()
['我爱', '北京', '天安门还有故宫']
>>> "我爱 北京 天安门还有故宫".split()
['我爱', '北京', '天安门还有故宫']