Как записать результат из генератора в текстовый файл? - PullRequest
0 голосов
/ 08 ноября 2019

Я сгенерировал строку с циклом for, но я не могу отобразить то же самое вне цикла for или записать результат в текстовый файл

Я использую фитон 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)

вместо того, чтобы отобразить все ключ и значение, он просто отображает последний ключ и значение

1 Ответ

0 голосов
/ 08 ноября 2019

Вы перезаписываете переменную remain на каждой итерации цикла for. Вот почему он показывает только последний. Вместо этого вы должны добавлять к строке каждую новую пару ключ-значение. Так как вы не предоставили содержимое 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

Итак, ваш окончательный коддолжно быть:

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

remain = ""
for k,v in books.items():
    remain = remain + str(k+':'+v) + '\n'
print(remain)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...