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