0

我的目标是读取一个看起来像这样的文本文件:

DI00        =DI
Logic0      =OFF
Logic1      =ON
DI01        =DI
Logic0      =OFF
Logic1      =ON

它一直持续到 DI11。我想编辑这个文件,并将其写入一个新的文本文件,如下所示:

DI00        =DOOR1
Logic0      =Door Open
Logic1      =Door Closed
DI01        =Camera1
Logic0      =CameraOn
Logic1      =CameraOff

我已经尝试了一些东西,但似乎没有任何效果。我知道这只是一个简单的代码块,有人可以在两分钟内为我编写。主要问题是同一行出现多次,并且每次都需要进行不同的编辑。请记住,我不想就地编辑文件。我必须写一个新的。

这是我所拥有的:

导入文件输入

def IOConfig(siteLocation, siteName, timeServer, ip, mac):

for line in fileinput.FileInput("ik2210_vanilla.txt",inplace=1):
    line = line.replace("MOD_LOC=", "MOD_LOC=" + str(siteLocation))
    line = line.replace("MOD_NAME=", "MOD_NAME=" + str(siteName))
    line = line.replace("TIME_SERVER    =", "TIME_SERVER    =" + str(timeServer))
    line = line.replace("NET_IP     =192.168.127.254", "NET_IP      =" + str(ip))
    line = line.replace("NET_MAC        =192.168.127.254", "NET_MAC     =" + str(mac))  
    line = line.replace("Logic0     =OFF", "Logic0      =Door Open")

    print line,

IOConfig(“大卫的办公室”,“大卫的测试站点”,“10.140.140.999”,“192.168.123.456”,“00-90-E8-31-D8-44”)

这里有一些额外的代码,但问题是最后一行。replace 替换了所有的 logic0 = Off's。我将发布第二次尝试写入新文件的尝试。

import re

rf = open("ik2210_vanilla.txt", "r")
wf = open("test#1", "w")

lines = rf.readlines()
for lines[2] in lines:
wf.write(str("Logic1    =Door Open"))
wf.write(str(lines))

rf.close()
wf.close()

在这里,我试图更改文件的第三行并将其写入我的新文件。但它不起作用。

4

0 回答 0