Хранение данных в файл, а не возвращение в терминал
У меня есть эта функция: write_reversed_file(input_filename, output_filename)
который записывает в указанный выходной файл содержимое указанного входного файла со строками в обратном порядке. мне просто нужно, чтобы вывод был записан в файл (output_filename
), а не в терминал (оболочка Python).
единственная часть, которую я пропустил - это сохранить результат в файл. Мне удалось завершить часть реверсивных линий.
def write_reversed_file(input_filename, output_filename):
for line in reversed(list(open(filename))):
print(line.rstrip())
2 ответа
Рекомендуется использовать формат "с открытым как" при работе с файлами, поскольку он автоматически закрывает файл для нас. (как рекомендовано в docs.python.org)
def write_reversed_file(input_filename, output_filename):
with open(output_filename, 'w') as f:
with open(input_filename, 'r') as r:
for line in reversed(list(r.read())):
f.write(line)
write_reversed_file("inputfile.txt", "outputfile.txt")
def write_reversed_file(input_filename, output_filename):
s = ""
f = open(input_filename,"r")
lines = f.read().split("\n")
f.close()
for line in reversed(lines):
s+=line.rstrip()+"\n"
f = open(outPutFile.txt,"w")
f.write(s)
f.close()