неправильная запись в файл, засписывается только последнее значение

Не могу понять, не варит на ночь глядя бошка вообще. Смысл в том, что использую f строки, с помощью них создаётся 6 файлов типа result2_hostname1 result2_hostname2 result2_hostname3 и т.д. В каждом из этих файлов есть строки. Хочу взять все эти файлы, и объединить в один. С помощью моего варианта скрипта, в конечном виде в print(line) вижу всё как я хотел, а когда делаю f_out.write(line) записывается только результат последнего файла, т.е. строки из result2_hostname6. Нужны все строки во всех файлах, в одном конечном. Вариант моего скрипта:

import paramiko

client = paramiko.SSHClient()
client.set_missing_host_key_policy(paramiko.AutoAddPolicy)
file = open('C:/Users/sx01/Desktop/Python3/13/new/hosts.txt', 'r')
for line in file:
    info = {}
    info['ip'], info['hostname'], *_ = line.split()

    try:
        with open(f'C:/Users/sx01/Desktop/Python3/13/new/result2_{info["hostname"]}') as f_in, open(f'C:/Users/sx01/Desktop/Python3/13/new/result_good','w') as f_out:
            for line in f_in:
                print(line)
                f_out.write(line)

    except Exception as e:
        error_log = str(e)
        print('error_log')

file.close()

Ответы (1 шт):

Автор решения: Эникейщик

Потому что результат print() остаётся на экране навсегда, а флаг w при открытии файла говорит о том, что каждый раз содержимое файла перезаписывется.

Так что запись в файл правильная. Нужно просто использовать правильный режим работы с файлом.

Ещё на тему

Запись файла в цикле while на python

→ Ссылка