ValueError: операция ввода-вывода в закрытом файле
import csv
with open('v.csv', 'w') as csvfile:
cwriter = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL)
for w, c in p.iteritems():
cwriter.writerow(w + c)
здесь p
словари, w
и c
оба являются строками.
когда я пытаюсь писать в файл, он сообщает об ошибке:
ValueError : I/O operation on closed file.
помогите мне, я действительно Новичок в python. Я работаю с Python 2.7.3 Заранее спасибо.
2 ответа:
правильно отступ;
for
заявление должно быть внутриwith
блок:import csv with open('v.csv', 'w') as csvfile: cwriter = csv.writer(csvfile, delimiter=' ', quotechar='|', quoting=csv.QUOTE_MINIMAL) for w, c in p.iteritems(): cwriter.writerow(w + c)
за пределами
with
блок, файл закрыт.>>> with open('/tmp/1', 'w') as f: ... print f.closed ... False >>> print f.closed True