как сохранить ввод итерации при обработке файлов в python

#python

Вопрос:

Я хочу сохранить свои выходные данные при обработке файлов. Я сделал итерацию, и единственный вывод, который отображается, — это только последний ввод.

Вот мой код:

 import os
num_string = []
strings = int(input("Enter how many lines of text: "))
for i in range (0,strings):
    element = str(input(str(i   1)   ". "))
    (num_string.append(element))

for name in num_string:
    print(name) 
f = open("D:/VB/QUIZ NLTK/conll.iob", "w")
f.write("%sn" %(name))
f = open("D:/VB/QUIZ NLTK/conll.iob", "a")
f = open("D:/VB/QUIZ NLTK/conll.iob", "r")
 

Вот что это показывает в моем коде:

Сколько строк текста: 3

  1. a
  2. b
  3. c

Вывод отображается при обработке файлов:

c

Мой идеальный результат:

Я хочу, чтобы это выглядело так:

a

b

c

Комментарии:

1. Вы не записываете никаких данных в свой цикл.

2. Ваш код просматривает num_string и печатает содержимое. Но после того, как этот цикл завершится , он затем записывается в файл. В этот момент name содержит последнее значение, которое он имел в цикле. Переместите open() вызов в положение перед for циклом (и решите , хотите ли вы "w" или "a" не делайте и то, и другое). Поместите write() вызов в for цикл, рядом с print() вызовом. Потому что вы хотите, чтобы в файле было то, что print() показывают звонки. И не забудьте вызвать close() файл после for цикла.

3. Для чего мне следует написать открытую? Первый или второй

Ответ №1:

Вот совет, изложенный в моем комментарии.

 num_string = []
strings = int(input("Enter how many lines of text: "))
for i in range (0,strings):
    element = str(input(str(i   1)   ". "))
    (num_string.append(element))

f = open(r""D:/VB/QUIZ NLTK/conll.iob"", "w")      # Open the file before the loop
for name in num_string:
    print(name) 
    f.write("%sn" %(name))                        # Write to the file inside the loop

f.close()                                          # Close the file after the loop
 

Я пропустил, import os потому что ваш код его не использует. Кроме того, код настолько близок к вашему оригиналу, насколько это согласуется с тем, чтобы он работал так, как вы ожидаете.