try:
os.remove('/usr/local/logs/mylog.log')
except Exception as e:
log.error('Error: %s') %e.message
运行上述代码时,提示窗口显示
OSError: [Errno 13] Permission denied
错误,并且此错误没有被记录。我需要将其记录下来,而不是在提示窗口显示出来。有什么建议吗?谢谢!我正在使用Python 2.6.6。
try:
os.remove('/usr/local/logs/mylog.log')
except Exception as e:
log.error('Error: %s') %e.message
OSError: [Errno 13] Permission denied
错误,并且此错误没有被记录。我需要将其记录下来,而不是在提示窗口显示出来。您正在尝试删除文件/usr/local/logs/mylog.log
,这很可能需要sudo权限。因此,请使用sudo python script.py
运行您的脚本,它应该可以正常工作。
正如error所说,您当前的用户没有删除该文件的权限。
log.error('Error: %s' %e.message)
而不是 log.error('Error: %s') %e.message
,对吧? - Anshul Goyal你的问题不仅在于删除文件,很可能也是因为你的脚本没有写入日志文件的权限,这就是为什么它没有被记录下来,也是为什么 OSError
没有被捕获的原因。
log.error()
之前立即添加一个print
语句。如果你看到它,那么触发异常的不是os.remove()
,你需要在其他地方寻找原因。 - Crowman