Как добавить значения set () после цикла - PullRequest
0 голосов
/ 14 декабря 2018

Итак, я пытался создать сценарий, в котором он проверяет текстовый файл и проверяет, было ли имя (new_names_list = {line.rstrip('\n') for line in open('names.txt')}) из текстового файла добавлено в set () (old_names_list = set()) и нет ли, он должен перебрать все имена, а затем после этого в set ().Это означает, что необходимо пройти через все имена (предоставит код, чтобы его было легче понять), а затем добавить его в набор ()

import json, time, sys, os, timeit, random, colorama, requests, traceback, multiprocessing, re
from random import choice
import threading


def get_names():

    name_test = [line.rstrip('\n') for line in open('randomnames.txt')]
    return name_test

def filter(thread, i):
    print(i)

def main():
    old_list = []

    old_names_list = set()

    while True:

        new_names_txt = {line.rstrip('\n') for line in open('names.txt')}

        for new_thread in get_names():

            if not new_names_txt == old_names_list:
                for i in new_names_txt :
                    if not i in old_names_list:
                        threading.Thread(target=filter, args=(new_thread, new_names_txt )).start()
                        if new_thread not in old_list:
                            old_list.append(new_thread)

            elif new_thread not in old_list:
                threading.Thread(target=filter, args=(new_thread, new_names_txt)).start()
                old_list.append(new_thread)

        else:
            randomtime = random.randint(1, 3)
            print('No changes!')
            time.sleep(randomtime)


if __name__ == '__main__':
    try:
        main()

    except KeyboardInterrupt:
        print('Keyboard - Interrupted' )
        sys.exit()


randomnames.txt

Alejandro  
Tisha  
Eleni  
Milton  
Jeanice  
Billye  
Vicki  
Shelba  
Valorie  
Penelope  
Mellissa  
Ambrose  
Retta  
Milissa  
Charline  
Brittny  
Ehtel  
Hilton  
Hobert  
Lakendra  
Silva  
Lawana  
Sidney  
Janeen  
Audrea  
Orpha  
Peggy  
Kay  
Marvis  
Tia  
Randy  
Cary  
Santana  
Roma  
Mandi  
Tyrone  
Felix  
Maybelle  
Leonia  
Micha  
Idalia  
Aleida  
Elfrieda  
Velia  
Cassondra  
Drucilla  
Oren  
Kristina  
Madison  
Dia  


names.txt

Alejandro
Tisha
Eleni
Dia
Hobert

Моя проблема в том, что в if not new_names_txt == old_names_list: мы находим имена(new_names_txt = {line.rstrip('\n') for line in open('names.txt')}), которые находятся в names.txt.То есть, если это если утверждение верно.Мы должны зациклить эти имена, которые выбираются как i, и пройти через все new_thread, и как только это будет сделано, оно должно продолжать делать следующее имя (new_names_txt), пока не останется больше имен (new_names_txt) для сравнения.Что мне нужно сделать, чтобы решить эту проблему?

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