我第一次尝试python中的任何东西时,我甚至无法获得for循环来更新元素。拜托,我没看见什么?你知道吗
我在一个文本文件里有这些数据
Y|Contents/MacOS/Safari|1500
N|Contents/MacOS/firefox|1200
Y|Contents/MacOS/Evernote|1100
我想把第二行的N改成Y,它在循环内部打印出我想要的形式,而不是在循环外部?这是什么?你知道吗
def setTrackable(self,appName):
lookfor = 'Contents/MacOS/'+appName
with open (self.__dataFile,"r") as myfile:
data = myfile.readlines()
for line in data:
temp = line.split("|")
if (temp[1] == lookfor):
line = 'Y|'+lookfor+"|"+temp[2]
print("line: "+line)
print (data[1])
with open (self.__dataFile, "w") as myfile:
myfile.writelines(data)
使用枚举并相应地修改
data
:这是一个生成所需结果的代码示例,请忽略我对
StringIO
的使用,因为我正在从内存中读取您的文件,否则您可以使用csv
模块轻松解析此数据。你知道吗您永远不会更新
data
中的值;您所做的只是定义一个名为line
的新变量,打印它,然后丢弃它。您应该将该新值附加到列表中。你知道吗更具python风格的实现方式是:
相关问题 更多 >
编程相关推荐