你如何在txt中报告重复项。文件?

时间:2017-02-14 14:56:17

标签: python-3.x file

在我们班上,我们的任务是基本上创建一个程序,重新演绎去年的美国大选。其中一个额外的挑战是,当您输入已存在于文件中的ID号时,它应该出现错误并停止。但是,当我尝试执行此代码时,它会出现

  

ValueError:关闭文件的I / O操作。

这是我迄今为止所做的代码......

ID = input("Please input ID code ")
if(len(ID)) == 6:
    print("ID length: Valid")
    N += 1
else:
    print("ID Code: Error")
    sys.exit()
with open('ID.txt', 'a') as idc:
    idc.write(ID + ' ')
already_seen = set()
for line in idc:
    if line not in already_seen:
        print("Valid")
    else:
        print("Error")
        sys.exit()

由于

1 个答案:

答案 0 :(得分:0)

你应该知道

之间的区别
with open('ID.txt', 'a') as idc:
    do sth

idc = open('ID.txt', 'a')

在第一种情况下,在do sth完成后,将调用idc的__exit__()来关闭文件对象。

我建议你使用我在上面指出的第二个表达式。如果您不熟悉Python,blog将帮助您了解详细原因。