在我们班,我们的任务基本上是创建一个计划,重新制定去年的美国大选。其中一个额外的挑战是,当您输入一个已经在文件中的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()谢谢
发布于 2017-02-14 15:18:34
您应该知道
with open('ID.txt', 'a') as idc:
do sth和
idc = open('ID.txt', 'a')在第一种情况下,在do sth完成后,将调用idc的__exit__()来关闭文件对象。
我建议您使用我前面指出的第二个表达式。如果您是Python新手,这个博客将帮助您理解详细的原因。
https://stackoverflow.com/questions/42229309
复制相似问题