В попытке ... кроме блока я хочу записать сообщение об ошибке исключения в файл в исключении.с открытым (файлом) за исключением
try:
doc = etree.parse(urllib2.urlopen(url))
except Exception, e:
print '%s: %s' % (e, url)
with open('error.txt', 'a') as f:
f.write('%s:%s\n' % url, e)
return
Печать показывает ошибку, но с открытым ... f.write не отменяется.
в том же сценарии проверка RelaxNG записывается в файл
if not RELAXNG.validate(doc):
with open('error.txt', 'a') as f:
f.write('%s\n' % RELAXNG.error_log)
return
Может кто-нибудь объяснить мне, почему
with open('myfile.txt', 'a') as f
f.write(...
Возможное в если заявление о, но не в кроме?
Рассмотрите возможность использования [модуля регистрации] (http://docs.python.org/2/howto/logging.html#basic-logging-tutorial) –