python 查找替换文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 查找替换文本相关的知识,希望对你有一定的参考价值。

例如:
文本1内容如下:
192.168.1.0 usage 90%

文本2内容如下:
192.168.1.0 LAN-User
192.168.2.0 Wireless-User

执行程序文本2中如果匹配文本1的IP,则生成文本3
192.168.1.0 LAN-User usage 90%

参考技术A a_lines = open('a.txt') #192.168.1.0 usage 90%
a_ = a_lines.readlines()
b_lines = open('b.txt') #192.168.1.0 LAN-User ,192.168.2.0 Wireless-User
b_ = b_lines.readlines()            
c_lines = open('c.txt','wb')
for i in b_:
    tmp = i.strip().split()[0]#得到192.168.1.0
    for j in a_:
        tmp1 = j.strip().split()
        if tmp == tmp1[0]:
            tmp2= i.strip()+j.strip().replace(tmp1[0],'')+'\\r\\n'
            c_lines.write(tmp2)

a_lines.close()
b_lines.close()
c_lines.close()

参考技术B #!/usr/bin/env python
#-*- coding:utf-8 -*-

import re

reip = re.compile(r'\\d1,3\\.\\d1,3\\.\\d1,3\\.\\d1,3')
lst = list()
with open("file1.txt", "r") as f1, open("file2.txt", "r") as f2:
    line1_lst = f1.readlines()
    line2_lst = f2.readlines()
    for line1 in line1_lst:
        ip1lst = reip.findall(line1)
        for line2 in line2_lst:
            ip2lst = reip.findall(line2)
            for ip1 in ip1lst:
                for ip2 in ip2lst:
                    if ip1 == ip2:
                        lst.append(line1.replace(ip1, line2.strip("\\n")))
print lst
with open("file3.txt", "w") as f3:
    f3.writelines(lst)

以上是关于python 查找替换文本的主要内容,如果未能解决你的问题,请参考以下文章

在Python中查找和替换文本,玩转Python正则

如何使用 Python 在指定的分隔符后查找和替换/删除文本?

如何用Python来进行查询和替换一个文本字符串

100天精通Python(数据分析篇)——第73天:Pandas文本数据处理方法之查找替换拼接正则虚拟变量

100天精通Python(数据分析篇)——第73天:Pandas文本数据处理方法之查找替换拼接正则虚拟变量

在 HTML BeautifulSoup 中按文本查找和替换