Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3.x 如何在txt中报告重复项。文件_Python 3.x_File - Fatal编程技术网

Python 3.x 如何在txt中报告重复项。文件

Python 3.x 如何在txt中报告重复项。文件,python-3.x,file,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

在我们班上,我们的任务是基本上创建一个程序,重新制定去年的美国选举。其中一个额外的挑战是,当您输入文件中已经存在的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()

谢谢

您应该知道

with open('ID.txt', 'a') as idc:
    do sth

idc = open('ID.txt', 'a')
在第一种情况下,
dosth
完成后,将调用idc的
\uuuuu exit\uuuu()
关闭文件对象

我建议您使用我在上面指出的第二个表达式。如果您是Python新手,这将有助于您了解详细原因