将列表写入文件并将其读回

时间:2017-01-26 18:42:44

标签: python-3.x

我是初学者,我在这个论坛中搜索了我的答案,并试图效仿这些例子(许多事情比我现在能理解的要复杂得多)。我想将我的列表Variables写入文件,并在必要时将其读回。

a = 'M'
b = 456.78
c = 100
Variables = [a, b, c]
f = open("test5.txt", "w")
with open("test5.txt", "r") as opened_file:
    for variable in Variables:
         "test5.txt".write(variable, '\n')

我得到一个“AttributeError”'str'对象没有属性'write'

  1. 我该怎么改变?
  2. 我怎么读回来?

1 个答案:

答案 0 :(得分:0)

错误意味着您无法写入字符串,而是想要写入已打开的文件。将字符串test5.txt更改为您已打开的文件f

for variable in Variables:
    f.write("%s\n" % variable)
f.close()

然后读回来:

with open("test5.txt", "r") as opened_file:
    variables = opened_file.readlines()

print(variables) #will print the file contents

编辑:正如评论中所讨论的那样,原始请求将值重新分配给相应的变量名是不可能的,下一个最佳选择是分配从文件中读取的每个值他们在原始名单中的指数。不幸的是,原始数据类型丢失了,只保留字符串值。

for i in range(len(variables)):
    Variables[i] = variables[i].strip()

print(Variables) # ['M', '456.78', '100']