сохранить многопоточный вывод в текстовый файл - PullRequest
0 голосов
/ 26 ноября 2018

я пишу этот простой код ... мне нужно сохранить вывод кода в текстовый файл на моем компьютере, как я могу это сделать?

import threading
import time


def qan(hey):
    while True:

        d = hey + 1
        print d
        time.sleep(1)


def printd(printme):
    while True:
        print printme + "\n"
        time.sleep(1)


t1 = threading.Thread(target=qan, args=(1,))
t2 = threading.Thread(target=printd, args=("hey",))
t2.start()
t1.start()

и это мой код вывода

эй

2 2 хей

2хей

2

1 Ответ

0 голосов
/ 26 ноября 2018

Использовать некоторый буфер с данными:

import threading
import time


buffer = []

def qan(hey):
    while True:

        d = hey + 1
        buffer.append(d)
        time.sleep(1)


def printd(printme):
    while True:
        buffer.append(printme + "\n")
        time.sleep(1)


t1 = threading.Thread(target=qan, args=(1,))
t2 = threading.Thread(target=printd, args=("hey",))
t2.start()
t1.start()

with open('output.txt') as f:
    f.write(''.join(buffer))
...