try ...exceptブロックで、例外パスのファイルに例外エラーメッセージを記録したいと思います。
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
印刷にはエラーが表示されますが、with open...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( ...
ifステートメントでは可能ですが、 except?では不可能です。