我的目标是读取一个看起来像这样的文本文件:
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()
在这里,我试图更改文件的第三行并将其写入我的新文件。但它不起作用。