Печать строки с разделителями из текстового файла - PullRequest
0 голосов
/ 29 апреля 2019

Я пытаюсь создать простую программу, которая принимает текстовый файл в качестве входных данных и затем выводит пятидневный прогноз температуры из файла.У меня проблемы с получением правильного значения для печати из строки с разделителями.Есть идеи, где я ошибся?Мой вывод прилагается ниже.

print("File:")
f = input()
a = open(f, 'r')
b = a.read()
c = b.split(',')
a.close()
count = 1 
for i in c:
    print("Day {}: {}".format(count, c))
    count = count + 1

enter image description here

1 Ответ

1 голос
/ 29 апреля 2019

.close () должен использоваться для файлового объекта.

Вы должны использовать a.close (), чтобы закрыть файл.

b - строка, полученная в результате операции "read ()", выполненной для объекта a (ваш файл)

Как только вы решите эту проблему, вы можете продолжить попытки, если ваша программа работает так, как вы ожидали.

Изменить:

Теперь, когда вы решили эту проблему, я думаю, вам следует заняться чем-то еще.

В вашем операторе печати вы выводите массив c , который получается путем разбиения первой строки файла и только первой. Вы не просматриваете строки файла. Вот почему вы всегда получаете один и тот же массив для вывода на каждый день.

Если ваша цель - печатать одно число в день, тогда ваш код должен быть:

for i in c:
    print("Day {}: {}".format(count, i))
    count = count + 1

Если ваша цель состоит в том, чтобы повторять этот процесс для каждой строки в файле, то вы должны сделать что-то вроде:

for line in f:
    #your code
...