我正在使用Python将数据写入记事本(.txt)文件。实体之间以逗号(',')分隔。该文件称为“ Database2.txt”。
变量'yearlynew'包含一个浮点值,该值将替换一部分现有数据。我尝试了多种方法将上述数据写入文件,但无法使其正常工作。
这是我到目前为止的代码:
g = open('Database2.txt', 'r')
for line in g:
CurrentLine = line.split(',')
if CurrentLine[0] == account:
g = open('Database2.txt', 'a')
#CurrentLine[3] = yearlynew
#g(CurrentLine[3]).write(yearlynew)
#CurrentLine[3].write(yearlynew)
任何带有'#'的内容都表示我尝试过的方法失败。如果有人对如何操作有任何建议,我将不胜感激。
我应该注意,CurrentLine [0]标识用户名(位于文件的第一列中),以便任何登录的用户都可以编辑其数据及其数据。 “帐户”保留当前登录用户的用户名,并允许程序跟踪文件以查找用户的统计信息。用户数据(例如名称和密码)存储在单独的文件中,并且此功能不需要。
这是文件的内容:
Ellie121,0.16,5,60,
Sam232,0.2,6,72,
Heather343,0.1,3,36,
Connor454,0.35,10.5,126,
Ryan565,0.15,4.5,54,
Matthew676,0.22,6.6,79.2,
我认为您不能只将文本插入文件中。我认为您必须将新数据写入另一个文件,然后重命名。这就是我要做的:
import os
account = 'Sam232'
yearlynew = '3.14159'
temp = open ('temporary_file', 'w')
g = open ('Database2.txt', 'r')
for line in g :
CurrentLine = line.split (',')
if CurrentLine [0] == account :
CurrentLine [1] = yearlynew
OutputLine = ','.join (CurrentLine)
temp.write (OutputLine)
g.close ()
temp.close ()
os.remove ('Database2.txt')
os.rename ('temporary_file', 'Database2.txt')