Поток для записи в файл обработанного текста

Я хочу реализовать, чтобы у меня отдельный поток занимался(делал все буквы маленькими) отдельной строчкой в файле. После обработки, запускался отдельный поток, который записывал отредактированный текст в другой файл. А также как передать строки в этот "ждущий" поток?

Я смог реализовать первый пункт своей задачи:

import threading
from threading import *
import time

file = open("file.txt", 'r', encoding="UTF8")
with file as f:
   number = sum(1 for _ in f)
file.close()
event = threading.Event()
semaphore = BoundedSemaphore(value=1)


def from_file(number):

    numpy = threading.current_thread().name
    print(f"Идёт обработка {numpy}-й строчки файла")
    file = open("file.txt", 'r', encoding="UTF8")
    line = file.readlines()
    file.close()
    global control
    print(line[control].lower())
    control = control + 1
    event.wait()
    print("Строчка обработана!")
    time.sleep(1)


if __name__ == "__main__":
    control = 0
    for i in range(number):
        semaphore.acquire()
        p = Thread(target=from_file, args=(number,)).start()
        time.sleep(1)
        #  print(f"Поток {i} запущен!")
        semaphore.release()

    if threading.active_count() >= number:
        event.set()

Помогите разобраться со вторым заданием.


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