Не работает запись в файл

Это простой парсер. Аккаунты, кому надо, вот - https://pastebin.com/Qhyp0zja . Код вместо записи на новую строку просто перезаписывает существующую. + не понимаю, как реализовать многопоточность.

from twitchobserver import Observer


rfile = input('Print the filename of yor accounts list.\n')
newf = open("output.txt", 'w+')
channel = 'nasa'

def parse(usr):
    m = usr.split(':')
    user = m[0]
    return user

def parse_oau(usr):
    m = usr.split(':')
    oauth = 'oauth:' + m[2]
    return oauth

try:
    f = open(rfile, 'r+')
except FileNotFoundError:
    print('Wrong filename')
    exit()

for i in f.readlines():
    user, oauth = parse(i), parse_oau(i)
    try:
        with Observer(user, oauth) as observer:
            observer.join_channel(channel)
            newf = open("output.txt", 'w+')
            print(f'[+] {i}')
            newf.write(i + '\n')
            newf.close()
    except RuntimeError:
        print('[-]' + i)
        continue

Рабочий код, не отличающийся от моего:

x = open('anus.txt', 'w+')
for i in range(10):
    x.write(str(i) + '\n')

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

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

Как же не отличается, когда отличается и очень сильно! Там файл открывается ДО цикла и закрывается наверняка после. А ты для каждой строки открываешь файл и тут же закрываешь. Потом опять открываешь и закрываешь...

Или вынеси открыть/закрыть за цикл или замени w+ на a+.

→ Ссылка