鱼C论坛

 找回密码
 立即注册
查看: 1681|回复: 9

[已解决]Python 中 try 执行结果如何 写入file.log中

[复制链接]
发表于 2017-8-6 11:09:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
try:
    f = ['小驾驭','你好']
    f[3]
except IndexError as reason:
    print('出错了,联系你的专属小客服宇狗' + str(reason))
    print(str(reason))
finally:
    f = open('D:\\Exclusive_dog_Error_log','w')
    f.write(reason)
    f.close()

当然这是个错误的!!
        我是个新手 ,我想把错误的执行结果写到日志中,但是是刚学习的《零基础python》,怎样实现求大神给出指点!
ps:
        print(str(reason)) 因为新手,不确定报错结果是否赋值给reason,所以打印出来,reason有赋值结果。
最佳答案
2017-8-6 11:25:18
直接把写入文件代码写到except块即可:
  1. try:
  2.         f = ['小驾驭','你好']
  3.         f[3]
  4. except IndexError as reason:
  5.         print('出错了,联系你的专属小客服宇狗' + str(reason))
  6.         print(str(reason))
  7.         
  8.         #出错信息写入文件
  9.         with open('D:\\Exclusive_dog_Error_log','w') as f:
  10.                 f.write(str(reason))
  11. finally:
  12.         pass
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-8-6 11:14:18 | 显示全部楼层
这个逻辑也不对 也不知道 finally 与 except 的范围能否支持 f = open('xx') 等实现
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-6 11:20:41 | 显示全部楼层
本帖最后由 新手·ing 于 2017-8-6 11:30 编辑

能支持
写到日志?是一个文件吗?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-6 11:25:18 | 显示全部楼层    本楼为最佳答案   
直接把写入文件代码写到except块即可:
  1. try:
  2.         f = ['小驾驭','你好']
  3.         f[3]
  4. except IndexError as reason:
  5.         print('出错了,联系你的专属小客服宇狗' + str(reason))
  6.         print(str(reason))
  7.         
  8.         #出错信息写入文件
  9.         with open('D:\\Exclusive_dog_Error_log','w') as f:
  10.                 f.write(str(reason))
  11. finally:
  12.         pass
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-6 16:56:24 | 显示全部楼层
新手·ing 发表于 2017-8-6 11:20
能支持
写到日志?是一个文件吗?

对对 我喜欢看日志 = = 希望能在程序中把错误直接保存存档纪录整理 感觉挺不错的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-6 16:56:55 | 显示全部楼层
ba21 发表于 2017-8-6 11:25
直接把写入文件代码写到except块即可:

给你一朵大大勒红花 表示感谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-6 16:58:00 | 显示全部楼层
ba21 发表于 2017-8-6 11:25
直接把写入文件代码写到except块即可:

finall 最后必须执行语句 pass是通过的意思大哥?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-6 17:13:06 | 显示全部楼层
理想小青年 发表于 2017-8-6 16:58
finall 最后必须执行语句 pass是通过的意思大哥?

就是什么都不做
但是你得写点什么,就写pass
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-8-6 17:23:27 | 显示全部楼层
新手·ing 发表于 2017-8-6 17:13
就是什么都不做
但是你得写点什么,就写pass

多会百度了一下这个pass用法- -,谢了哥,以后有啥不会嘞多给指点一下
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-8-6 17:24:51 | 显示全部楼层
理想小青年 发表于 2017-8-6 17:23
多会百度了一下这个pass用法- -,谢了哥,以后有啥不会嘞多给指点一下

好嘞
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-27 05:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表