如何在循环后添加set()值

时间:2018-12-14 08:30:11

标签: python for-loop set

因此,我一直在尝试创建一个脚本,在该脚本中检查txt文件并检查txt文件中的名称(new_names_list = {line.rstrip('\n') for line in open('names.txt')})是否已添加到set()(old_names_list = set())中,并且如果没有,则应遍历所有名称,然后再在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:中,我们发现了names.txt中的名称(new_names_txt = {line.rstrip('\n') for line in open('names.txt')})。表示if语句是否为True。我们应该循环选择的名称为i并遍历所有new_thread,一旦完成,就应该继续使用下一个名称(new_names_txt)直到没有其他名称({ {1}})进行比较。要解决此问题我需要做什么?

0 个答案:

没有答案