用Python脚本批量处理文本字符

缘由

这是个是搞测试的朋友问我的问题,他不是很熟悉Python语法,于是让我帮他想想,怎么写,

需求

现在有两个文本

  • test1.sql
    this is a adpos_0123456789
    this is a adpos_0123456123123
    this is a adpos_012345612123
    
  • test2.txt
    我是第一行
    我是第二行
    第三行
    
    最终想把 test1.sql中的文本替换成一下这种(两个文本行数一致)
    this is a 我是第一行
    this is a 我是第二行
    this is a 第三行
    

同时打开三个文件,用zip函数同时循环两个读取文件的每行字符串,然后操作完后写入到第三个文件。 (repr函数可以输出各种转义符号)

import re

with open('test1.sql', 'r', encoding="utf-8") as f1, \
        open('test2.txt', 'r', encoding="utf-8") as f2, \
        open("./res.txt", "w", encoding='utf-8') as f3:
    for t1, t2 in zip(f1.readlines(), f2.readlines()):
        print(repr(t1))
        print(repr(t2))
        t2 = str(t2).replace("\n", '')
        new_t1 = re.sub("adpos_\d+", t2, t1)
        f3.write(new_t1)

用Python脚本处理这些文本确实方便多了。


文章作者: 王小右
版权声明: 咳咳想白嫖文章?本文章著作权归作者所有,任何形式的转载都请注明出处。 https://www.charmcode.cn !
  目录