Как отправить аргументы в двух разных темах? - PullRequest
0 голосов
/ 13 декабря 2018

Итак, я пытался поиграть в abit с помощью циклов for и threading.Моя идея состояла в том, чтобы иметь файл names.txt, в который я могу добавлять имена во время работы программы.Если в текстовом файле найдено новое имя.Он должен добавить его в качестве нового потока и запустить скрипт.

Я написал здесь скрипт, который выглядит следующим образом:

def testscript(thread):
    print(thread)

def script():
    old_list = []

    old_names_list = []

    while True:
        new_names_list = [line.rstrip('\n') for line in open('names.txt')]

        for new_thread in get_random_names(): #A function that contians 100 random names

            if not new_names_list == old_names_list: 
                for i in new_names_list:
                    if not i in old_names_list:
                        print(i)
                old_names_list = new_names_list


            if new_thread not in old_list: #If the names are not added in old_list. start new thread.
                threading.Thread(target=testscript, args=(new_thread,)).start()
                old_list.append(new_thread)

        else:
            randomtime = random.randint(1, 3)
            time.sleep(randomtime)

Моя проблема сейчас заключается в том, что мне удалось выяснить, когда вы добавляете имя, оно будет печатать это имя, используя этокод:

if not new_names_list == old_names_list: 
                for i in new_names_list:
                    if not i in old_names_list:
                        print(i)
                old_names_list = new_names_list

Проблема в том, что мне также нужно использовать этот код ниже, потому что я хочу также распечатать все имена.

if new_thread not in old_list:
      threading.Thread(target=testscript, args=(new_thread,)).start()
      old_list.append(new_thread)

Моя идея состояла в том, чтобы сначала распечататьвсе имена и, если новое имя добавлено, он должен добавить новый поток для него и держать имя в аргументах, подобных threading.Thread(target=testscript, args=(new_thread, i)).start() #i внутри аргументов.

Мой вопрос: как я могу бытьв состоянии отправить поток для всех новых элементов, которые добавляются в old_list и поток, который отправляет только имена внутри names.txt?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...