Python 使用字典在文本文件中保存变量时出现问题

Python 使用字典在文本文件中保存变量时出现问题,python,Python,我想将所有值(cases1)保存在文本文件中。但是,当我执行以下代码时,只有最后一个值(即7)保存在variables.txt中 cases1=[1,2,3,4,5,6,7] 对于案例1中的j: promfac=j dict={'promfac':promfac} varsave=repr(dict) 文件=打开(“variables.txt”、“w”) file.write(varsave+'\n') file.close()文件 输出结果如下: {'promfac': 7} 我希望我的输

我想将所有值(cases1)保存在文本文件中。但是,当我执行以下代码时,只有最后一个值(即7)保存在variables.txt中

cases1=[1,2,3,4,5,6,7]
对于案例1中的j:
promfac=j
dict={'promfac':promfac}
varsave=repr(dict)
文件=打开(“variables.txt”、“w”)
file.write(varsave+'\n')
file.close()文件
输出结果如下:

{'promfac': 7}
我希望我的输出如下:

{'promfac': 1}
{'promfac': 2}
{'promfac': 3}
{'promfac': 4}
{'promfac': 5}
{'promfac': 6}
{'promfac': 7}
cases1 = [1, 2, 3, 4, 5, 6, 7]
with open("variables.txt", "w") as file:
    for i in case1:
        varsave = repr({'promfac': i})
        file.write(varsave + '\n')

如果使用“w”或w+,则应在for循环外部打开文件。否则用a。看起来您一直在覆盖文件,而不是追加文件

您应该在代码中使用
a
而不是
w

或者,您可以使用
w
打开它,然后在列表上循环并逐行存储,如下所示:

{'promfac': 1}
{'promfac': 2}
{'promfac': 3}
{'promfac': 4}
{'promfac': 5}
{'promfac': 6}
{'promfac': 7}
cases1 = [1, 2, 3, 4, 5, 6, 7]
with open("variables.txt", "w") as file:
    for i in case1:
        varsave = repr({'promfac': i})
        file.write(varsave + '\n')