Хранение данных в файл, а не возвращение в терминал

У меня есть эта функция: 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()
Другие вопросы по тегам