如何将生成器的结果写入文本文件?

问题描述 投票:0回答:1

我已经生成了一个带for循环的str,但是我无法在for循环之外显示相同的内容,也无法将结果写入文本文件中

我目前正在使用phyton 3.7.4

r = open('book_list.txt','r')  
lines = r.readlines()
books = dict((line.strip().split(':') for line in lines))
r.close()

for k,v in books.items() :
    remain = str(k+':'+v)
print(remain)

代替显示所有键和值,它只显示最后一个键和值

python-3.7
1个回答
0
投票

您将在for循环的每次迭代中覆盖remain变量。这就是为什么只显示最后一个。您应该将每个新的键值对附加到字符串之后。由于您没有提供book_list.txt的内容,因此我为自己制作了一个伪造的词典来对其进行测试。

books = {
  "key1": "value1",
  "key2": "value2",
  "key3": "value3"
}

remain = ""
for k,v in books.items():
    remain = remain + str(k+':'+v) + '\n'
print(remain)

这将打印:

key3:value3
key2:value2
key1:value1
© www.soinside.com 2019 - 2024. All rights reserved.