python - Saving an error exceptions to file erroring out -
i'm having issues simple bit of code not working correctly , i'm totally baffled why...
errors = open('error(s).txt', 'w') try: execfile("aeaper.py") except exception e: errors.write(e) errors.close()
i following error:
traceback (most recent call last): file "c:\sator.py", line 45, in <module> periodically(2, -1, +1, callscripts) file "c:\sator.py", line 27, in periodically s.run() file "c:\python27\lib\sched.py", line 117, in run action(*argument) file "c:\sator.py", line 36, in callscripts errors.write(e) typeerror: expected character buffer object
what wrong code , why doing that?
unlike print
statement, file.write
function takes strings. so, need convert string explicitly:
errors.write(str(e))
of course in real-life code, want formatting, forget this. example:
errors.write('failed exec {} {}'.format(filename, e))
here, we're passing result of format
write
, fine, , we're passing e
argument format
, fine… the fact we've done implicit conversion string in middle easy miss.
there 2 different ways represent value string, str
, repr
, str
1 print
uses, it's wanted here.
Comments
Post a Comment