Python读取文件替换单词中的字符串

查兰

我正在尝试读取具有以下数据的文件

Et1, Arista2, Ethernet1
Et2, Arista2, Ethernet2
Ma1, Arista2, Management1

我需要阅读文件替换EtEthernet,并MaManagement在它们的末尾,数字应相同。实际输出应如下

Ethernet1, Arista2, Ethernet1
Ethernet2, Arista2, Ethernet2
Management1, Arista2, Management1

我尝试了使用正则表达式的代码,可以理解所有的内容Et1Et2并且Ma1但是无法取代它们。

import re
with open('test.txt','r') as fin:
       for line in fin:
       data = re.findall(r'\A[A-Z][a-z]\Z\d[0-9]*', line)
       print(data)

输出看起来像这样。

['Et1'] 
['Et2'] 
['Ma1']
谢尔盖·戈尔诺斯塔耶夫(Sergey Gornostaev)
import re

#to avoid compile in each iteration
re_et = re.compile(r'^Et(\d+),')
re_ma = re.compile(r'^Ma(\d+),')

with open('test.txt') as fin:
    for line in fin:
        data = re_et.sub('Ethernet\g<1>,', line.strip())
        data = re_ma.sub('Management\g<1>,', data)
        print(data)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章