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)
Aquí, p
es un diccionario, w
y c
son cadenas.
Cuando bash escribir en el archivo se reporta un error:
ValueError : I/O operation on closed file.
Ayúdame, soy realmente nuevo en Python. Estoy trabajando con Python 2.7.3 Gracias de antemano.
Sangrar correctamente; for
statement debe estar dentro with
bloque:
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)
Fuera del bloque with
, el archivo está cerrado.
>>> with open('/tmp/1', 'w') as f: ... print f.closed ... False >>> print f.closed True
El mismo error puede boost mezclando : tabs + espacios.
with open('/foo', 'w') as f: (spaces OR tab) print f <-- success (spaces AND tab) print f <-- fail