Мое простое назначение - написать функцию, которая запрашивает имя файла, а затем многократно читает строки от пользователя и сохраняет эти строки в именованный файл.
Прекращает сохранение строк, когда пользовательский ввододна точка на линии сама по себе.Строка, содержащая одну точку, НЕ сохраняется.
Пример вывода будет выглядеть следующим образом:
Save to what file: mytest.txt
> This is
> my attempt at
> the problem.
>
> The last line was empty
> .
Saving file mytest.txt
5 lines saved
Вот моя попытка:
def savefile():
filename = input("Save to what file: ")
infile = open(filename, "w")
line = ""
lineCount = 0
while line != ".":
line = input("> ")
infile.write(line + "\n")
lineCount += 1
print("Saving file", filename)
print(lineCount, "lines saved")
infile.close()
, которая работает нормально, кроме моегоЦикл while
также сохраняет последнюю строку («.» На строке).Я также пробовал цикл if
- else
:
if line != ".":
line = input("> ")
infile.write(line + "\n")
lineCount += 1
else:
infile.close()
, но при этом сохраняется только первая введенная строка.
Как исключить последнюю введенную строку?