问题描述
我正在将一些Python代码从2.7移植到3.x。原始代码因以下错误而失败:
package-lock.json
当检查是否存在wx.PyLog时,它确实不存在:
class myTextLog(wx.PyLog):
AttributeError: 'module' object has no attribute 'PyLog'
当我检查wx的较旧版本中是否存在wx.PyLog时,它在那里:
>>> import wx
>>> wx.PyLog
Traceback (most recent call last):
File "<stdin>",line 1,in <module>
AttributeError: 'module' object has no attribute 'PyLog'
>>> wx.version()
u'4.1.0 msw (phoenix) wxWidgets 3.1.4'
我看到它已在以下旧示例代码中使用:http://www2.geog.ucl.ac.uk/~plewis/bpms/src/start/Main.py
>>> import wx
>>> wx.PyLog
<class 'wx._misc.PyLog'>
>>> wx._misc
<module 'wx._misc' from '/usr/lib/python2.7/site-packages/wx-3.0-gtk2/wx/_misc.pyc'>
>>> wx.version()
'3.0.2.0 gtk2 (classic)'
似乎已被删除。对于上面给出的wx.PyLog不再可用的代码,什么是合适的替代品?
解决方法
在python 3.x中,您应该使用:logging
您将要查看 Logging HOWTO
import logging
logging.basicConfig(filename='example.log',encoding='utf-8',level=logging.DEBUG)
logging.debug('This message should go to the log file')
logging.info('So should this')
logging.warning('And this,too')
logging.error('And non-ASCII stuff,too,like Øresund and Malmö')