Python批量提取txt文件中的特定字符后的数字?

数据如图,自己参照csdn上的代码改了一下,不过跑不出结果。

2、待读取文件


是以":"作为分隔符的数据,每一行以回车结束。此文件为XXX.train

3、读取每一句中的汉字

1234567891011

   

...file_train = os.path.join(rootDir,"data/train/rg_train_"+modle_date+"_"+aiscene+".train")with open(file_train, 'r')as fp:    textlist = fp.readlines()    for text in textlist:        if ":" in text:            L4ID = text.split(":")[-2]            Msg = text.split(":")[-1]            if query_start == Msg.strip("\n"):                print("Msg is in train:",Msg)...

   

代码中先获取文件,然后读取每一行,然后以":"作为分隔符。(-1代表倒数第一个,-2代表倒数第二个)

不管是txt文件还是xml文件还是其他的,都可以用这种方法来批量替换文件中字符串:

1234567891011121314151617

   

# -*- coding:utf-8 -*-__author__ = 'ShawDa' import glob xmls = glob.glob('xml_files/*.xml')for one_xml in xmls:  print(one_xml)  f = open(one_xml, 'r+', encoding='utf-8')  all_the_lines = f.readlines()  f.seek(0)  f.truncate()  for line in all_the_lines:    line = line.replace('dog', 'pig')    line = line.replace('cat', 'bike')    f.write(line)  f.close()

   

温馨提示:内容为网友见解,仅供参考
第1个回答  2020-06-20
第16行,'a'应该改成a追问

我之前也试过用a还是会报错

追答

第14行,rb改成r

追问

果然如此多谢啦!

那假如我要提取这个元素后一个如何实现呢?能指条路吗?

本回答被提问者采纳
相似回答