import csv
with open('v.csv', 'w') as csvfile:
cwriter = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
for w, c in p.items():
cwriter.writerow(w + c)
这里,p
是字典,w
和c
都是字符串。
当我尝试写入文件时,它会报告错误:
ValueError: I/O operation on closed file.
7条答案
按热度按时间j1dl9f461#
缩进正确;你的
for
语句应该在with
块中:在
with
块之外,文件被关闭。5cg8jx4n2#
相同错误可以通过混合引发:制表符+空格。
mspsb9vt3#
”““我也有同样的问题。这是我以前的代码**
显然,我应该编写usersWriter而不是NodeWriter。
下面是我目前的代码,它正在工作
pwuypxnk4#
将数据保存到一个变量(
file
)中,因此需要一个with
。3zwtqj6y5#
当我在
with open(...) as f:
中使用未定义的变量时,我遇到了这个问题。我删除了(或在外部定义了)未定义的变量,问题就消失了。ztyzrc3y6#
另一个可能的原因是,在一轮copypasta之后,您最终阅读两个文件,并将相同的名称分配给两个文件句柄,如下所示。注意嵌套的
with open
语句。修复方法是为两个文件句柄分配不同的变量名,例如。
f1
和f2
,而不是f
。ylamdve67#
在使用auto-py-to-exe编译程序后,我遇到了类似的问题。
我使用
with open(link, "rb") as f:
,但切换到PdfReader
方法修复了它。只是想分享一下以防其他人也面临这种情况。