python文本替换

  • 字符串的replace实现文本的批量替换
    之前用Gcode生成器F-Egrave生成的Gcode代码有些代码与arduino板的GRBL固件并不兼容,特别是抬笔下笔的命令不一样,所以我用python将这些命令批量替换掉
  • 程序
def main():
    import os
    f_old = open('/home/pi/Desktop/output.nc','r')
    f_new = open('/home/pi/Desktop/output_new.nc','w')
    for line in f_old:
        if 'G0 Z#1' in line:
            line = line.replace('G0 Z#1','M5\nG4 P0.2')
        elif 'G1 Z#2' in line:
            line = line.replace('G1 Z#2','M3 S1000\nG4 P0.2')
        f_new.write(line)
    f_old.close()
    f_new.close()
    
if __name__ == '__main__':
    main()

读取一行旧文件,替换掉关键字,把G0 Z#1’替换成’M5\nG4 P0.2’,‘G1 Z#2’替换成’M3 S1000\nG4 P0.2’,然后写入新文件。这样一行一行的替换可以避免string占用内存过大,不过缺点是需要两个文件操作。

猜你喜欢

转载自blog.csdn.net/cool_bot/article/details/89674417
今日推荐