Python 如何检查文本文件是否变大?

Python 如何检查文本文件是否变大?,python,for-loop,Python,For Loop,我的想法是创建一个脚本,在这个脚本中,我从一个列表中运行多个名称,然后比较它是否在旧的\u列表中。如果它不在列表中,则我们打印出名称或调用函数。否则,如果它不在列表中,那么我只需等待5-15秒,然后再次检查是否添加了任何内容 但是,我现在的问题是,我有一个随机名称的列表: names.txt 克雷格 利百加 吉娜 斯特拉 扎卡里 伊拉 德尔西 毛罗 阿尔巴 安东妮特 .... 更多 使用此脚本: def script(): old_list = [] old_names_li

我的想法是创建一个脚本,在这个脚本中,我从一个列表中运行多个名称,然后比较它是否在
旧的\u列表中。如果它不在列表中,则我们打印出名称或调用函数。否则,如果它不在列表中,那么我只需等待5-15秒,然后再次检查是否添加了任何内容

但是,我现在的问题是,我有一个随机名称的列表:

names.txt

克雷格 利百加 吉娜 斯特拉 扎卡里 伊拉 德尔西 毛罗 阿尔巴 安东妮特 .... 更多
使用此脚本:

def script():

    old_list = []
    old_names_list = [line.rstrip('\n') for line in open('names.txt')]


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

        #if new name added to the list, then we call a random function,
        #for example: def hello() or we can just print out the name
        #and we continue to do the below.
        for names in old_names_list:

            if names not in old_list:
                print(names)
                #Call a random function etc def hello():
                old_list.append(names)

        else:
            randomtime = random.randint(5, 15)
            print('No new names fouund! - retrying in {} secs'.format(randomtime))
            time.sleep(randomtime)
newnames.txt

丽贝卡 吉娜 斯特拉 现在,它确实打印出列表中的所有名称,然后将其添加到
old_列表中
,对于for循环中的下一次搜索,它不会打印出名称,因为它位于
old_列表中
。然而,我想做的是,如果它在列表中添加了一个新名称,它应该检查
new\u names\u list
。如果有,它应该搜索名称是否在names.txt中,然后打印出添加的名称

输出:

打印出所有名称并继续while-True循环。
*将Craig添加到newnames.txt*
打印(“在旧列表中找到克雷格!”)
如果添加了新名称,则继续搜索。
这就是你想要的吗? 它永远循环,找到所有的名字就打印出来

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

        if not new_names_list == old_names_list: #if there is a change
            hell() #call that function
            for i in new_names_list:
                if not i in old_names_list:
                    print(i)
            old_names_list = new_names_list

        else: #no change
            print("no change")
            time.sleep(5)

有一件事需要注意,使用例如not等。与答案无关,但我正在处理它。我很抱歉!我会重新编辑它@jachdich如何将名称添加到
'newnames.txt'
文件中?是什么修改了它?@martineau在文件夹中。您只需在txt中手动添加名称。fileOK,但我仍然不太明白您希望发生什么,而不是您问题中的代码中它的作用。请回答你的问题,并尽量让它更清楚。嗯,我认为问题在于它会打印出所有的新名字列表。我只想打印出“改变”的那张好的,如果可以的话,我会让它这么做的。谢谢!对我来说意义重大!:)我想就是这样了!:)我会做更多的工作,看看它是否符合我想要的结果:)找到并发布。所以当我打印一个名字的时候,它打印了这个名字,所有的名字。