Python выполнение кода, но с возможностью ввода команды
def test():
for i in range(100):
print(i)
time.sleep(5)
def main():
while True:
response = input(">>> ")
if response == 'quit':
# do something
Есть ли библиотека с помощью которой можно реализовать систему ввода команды в консоли, но в этот момент будет работать какая-нибудь функция? Например, происходит парсинг и сохранение данных в .txt формат. Пользователь вводит команду: quit. Программа должна завершить свой процесс и ожидать ввод новой команды. Доступ к консоли должен быть постоянным.
Ответы (2 шт):
Автор решения: vsi-
→ Ссылка
Если вам нужно выполнение второй функции как отдельный файл, можно использовать multiprocessing, более простой вариант - использование thread, т.е мултьипоточность
Автор решения: Boro8ey
→ Ссылка
import threading
import time
class test(object):
def __init__(self):
self.array = []
def timer(self):
for i in range(100):
self.array.append(f"id {threading.get_ident()} - {i}")
time.sleep(5)
def main(self):
while True:
response = str(input(">>> ")).lower()
if response == "start":
thr = threading.Thread(target=self.timer)
thr.start()
elif response == "get":
print(self.array)
if __name__ == "__main__":
my_thread = threading.Thread(target=test().main)
my_thread.start()