python语言来修改文本中指定行的某个字符的数值? 如图片所示,有如下的内容:
/prep7et,1,solid185mp,ex,1,200e3mp,dens,1,7850mp,nuxy,1,0.27tb,miso,1,,23我想要修改第三行中的20...
/prep7et,1,solid185mp,ex,1,200e3mp,dens,1,7850mp,nuxy,1,0.27tb,miso,1,,23我想要修改第三行中的200e3,现在想把它改成210e3,这个用python怎么实现呢?而且这个不能是用replace吧,因为我的目的是以后210e3是由读者输入的,然后后台获取这个字符后修改了200e3,求大神帮忙啊,新手搞这个真是有点费劲
展开
1个回答
2016-05-31
展开全部
不太了解你的需求,你直接替换也没啥问题吧,如果不替换要解析你这个字符串的话可以这样搞:
lines = open('1.txt', 'r').readlines()
fields = lines[2].split(',')
fields[-1] = '210e3\n'
lines[2] = ','.join(fields)
open('1.txt', 'w').writelines(lines)
追问
大神,你的这个方法是可以实现我的目标的。但是刚学习python语言,有些东西不是很懂
你注释一下每句的功能吗?
第二句中split(',')是按照“,”把句子给分割吗?因为python中默认的是按照空格来分割句子;
第三句中的为什么是fileds【-1】啊?为什么是 - 1呢?这代表是第几个字符串呢?python不是默认的从0开始数的吗?
第四句是什么个意思啊?不太懂这个的意思
追答
split是吧句子按照,分割成列表
fileds[-1]是切片,获取列表的最后一个元素,也就是200e3
第四句是吧修改好的元素列表合并成一行
第五句吧所有行写回文件。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询