splitlinespython
⑴ python字符串分割
格式太乱了,给你个参考吧
import re
s = 'type <unsigned int>\nport_num:4\nport:<in_port><sc_out<sc_uint<4>>>'
a = s.split('\n')
ok = []
for i in a:
if re.match('>',i[len(i)-1]):
print(i[:len(i)-1].replace('><',',').replace(':<',',').replace(' <',','))
else:
print(i.replace(':',','))
⑵ python expandtabs().splitlines(),最近在看python一个计数文件行数的代码,可是看不懂这个函数的作用
lines=docstring.expandtabs().splitlines()
首先,docstring是字符串(string)。
然后,string.expandtabs()是将字符串里面的tab制表符换成空格,如果没有指定tabsize参数,默认一个tab转化成8个空格。
(这是help里面的说明:Return a of S where all tab characters are expanded using spaces.If tabsize is not given, a tab size of 8 characters is assumed.)
之后,string.splitlines()是将一串字符串按行分割,并返回分割后的列表(list)。
⑶ Python 计算一个文件中有多少行即读取文件行数
with open(file) as f:
text=f.read()
length=len(text.splitlines())
⑷ python中splitlines不能给列表用吗
不能,可以先将列表转换成字符串再使用
⑸ python获取执行命令的返回结果
p=subprocess.Popen('psaux',shell=True,stdout=subprocess.PIPE)
out,err=p.communicate()
forlineinout.splitlines():
printline
⑹ python字符串分割问题
在平时工作的时候,发现对于字符串分割的方法用的比较多,下面对分割字符串方法进行总结一下:
第一种:split()函数
split()函数应该说是分割字符串使用最多的函数
用法:
str.split('分割符')
通过该分割操作后,会返回一个列表。
注:当然如果你的字符串含有一个或者多个空格就直接 str.split() 就可以了
例如:
>>> a = "hello,python,Good Night"
>>> a.split(',')
['hello', 'python', 'Good Night']
第二种:splitlines()函数
splitline()函数是按“行”进行字符串分割
用法:
object.splitlines()
通过该分割操作后,会返回一个列表。
例如:
>>> a = '''I have a pen
I have a apple
apple pen
'''
>>> a.splitlines()
['I have a pen','I have a apple','apple pen']
⑺ python多行输入问题
兄弟,你问这个问题太一级。
首先,你必须先学会Python语言,学会了在任何平台上可以进行编程。你必须弄清楚这个概念。
其次,要安装Python的开发环境。如果你使用Ubuntu是很简单的。
命令和apt-get安装蟒蛇
编辑器,我建议你使用Vim和Emacs,神器。 。
三,读这本书,他试着写多了,想了想后。
“Lernning Python的”,“编程的Python”我建议你看看这些书。
⑻ linux或Python提取一定范围的行
usage Python
#!/usr/bin/envpython
#coding:utf-8
"""
"""
importre
context="""
12143214544325
2321443214543
34325432543543
6324344324
5433244324
"""#(行号不连贯,并且有缺失)
rangedefine="""
12
35
"""
defiter_parser_context(strstream):
patt=re.compile(r"^(?P<sno>d+)s+(?P<content>.*)")
forlninstrstream:
matched=patt.match(ln)
ifmatched:
yieldmatched.groupdict()
defgetrangedefine(context):
datarange=[]
forlnincontext.splitlines():
datarange.append(re.findall("d+",ln))
returnfilter(None,datarange)
define=getrangedefine(rangedefine)
fordatainiter_parser_context(context.splitlines()):
ifany([minsno<=data["sno"]<=maxsnofor(minsno,maxsno)indefine]):
print"%(sno)s%(content)s"%data
⑼ python怎么提取关键词
你好, 那个r'.*?('+ lste +').*?‘ 会吧你这个关键字前面和后面的文字都匹配了,所以当你的那个关键字多次出现的时候,就会报那个重复出现的错了。
你直接
hh = re.findall(lste, gg)就可以了呀?
或者是还有什么需要匹配的东西,我看你后面好像要将结果连接起来,但是你匹配出来的都是关键字,直接连接的话,其实就是多个关键字的拼接了。
⑽ python从txt文件中读取数字,并且判断其大小。
#!/usr/bin/python
#encoding:utf-8
importre
context="""
0.00000000E+001.99000000E-021.05000000E+000.00000000E+003.88519671E+02
4.20000000E-021.99000000E-021.00800000E+000.00000000E+004.23216155E+02
8.40000000E-021.99000000E-029.66000000E-010.00000000E+004.67920285E+02
1.26000000E-011.99000000E-029.24000000E-010.00000000E+004.89975818E+02
1.68000000E-011.99000000E-028.82000000E-010.00000000E+005.01845166E+02
2.10000000E-011.99000000E-028.40000000E-010.00000000E+005.10017363E+02
2.52000000E-011.99000000E-027.98000000E-010.00000000E+005.15927207E+02
2.94000000E-011.99000000E-027.56000000E-010.00000000E+005.18914324E+02
3.36000000E-011.99000000E-027.14000000E-010.00000000E+005.18683254E+02
"""
patt=re.compile(r"d.d+E[+-]d{2}")
array=[]
forlninfilter(None,context.splitlines()):
array.append(map(float,patt.findall(ln)))
debug=True
defdebugView(obj):
importpprint
ifdebug:
pprint.pprint(obj)
debugView(array)
你的数据来自文本文件,可以用 for ln in filter(None, open(datafile, 'rt'))
替代 for ln in filter(None, context.splitlines())