&引用;ValueError:对关闭的文件执行I/O操作;在使用python时
我正在使用canopy学习python(第1天) 使用下面的代码,我得到了错误&引用;ValueError:对关闭的文件执行I/O操作;在使用python时,python,file,io,Python,File,Io,我正在使用canopy学习python(第1天) 使用下面的代码,我得到了错误ValueError:I/O操作关闭的文件,没有弹出csv文件或任何更新(我创建了一个名为index.csv的文件) 我试过做一些事情,但似乎没有任何效果。请帮忙 使用append打开csv文件,以便旧数据不会被删除 with open('index.csv', 'a') as csv_file:writer = csv.writer(csv_file) writer.writerow([name, price, da
ValueError:I/O操作关闭的文件
,没有弹出csv文件或任何更新(我创建了一个名为index.csv的文件
)
我试过做一些事情,但似乎没有任何效果。请帮忙
使用append打开csv文件,以便旧数据不会被删除
with open('index.csv', 'a') as csv_file:writer = csv.writer(csv_file)
writer.writerow([name, price, datetime.now()])
我明白了:
ValueErrorTraceback (most recent call last)
C:\Users\SPINDEX_CODE.py in <module>()
21 # open a csv file with append, so old data will not be erased
22 with open('index.csv', 'a') as csv_file:writer = csv.writer(csv_file)
---> 23 writer.writerow([name, price, datetime.now()])
ValueError: I/O operation on closed file
ValueErrorTraceback(最近一次调用上次)
C:\Users\SPINDEX\u CODE.py in()
21#使用append打开csv文件,以便旧数据不会被擦除
22打开('index.csv','a')作为csv_文件:writer=csv.writer(csv_文件)
--->23 writer.writerow([name,price,datetime.now()]))
ValueError:对关闭的文件执行I/O操作
缩进很重要
当with
块退出时,文件将自动关闭。因此,您的writerow
调用是在文件关闭后进行的,因为您已在块外部使用…as缩进该文件。因此,自然的解决方法是将两行代码移动到标题下方,并使用…as
标题
请注意,您不能简单地缩进第二行(而不向下移动第一行),因为这将导致该块中的缩进不一致,所以不要这样做。缩进很重要
with open('index.csv', 'a') as csv_file:
writer = csv.writer(csv_file)
writer.writerow([name, price, datetime.now()])