项目需求:
- 控制台输出所有日志;
- 单独文件记录Error/Critical级别的日志;
项目需求:
Python中的traceback模块被用于跟踪异常返回信息,可以在logging中记录下traceback
logging模块默认定义了以下几个日志等级,它允许开发人员自定义其他日志级别,但是这是不被推荐的,尤其是在开发供别人使用的库时,因为这会导致日志级别的混乱。
日志等级(level) | 描述 |
---|---|
DEBUG | 最详细的日志信息,典型应用场景是 问题诊断 |
INFO | 信息详细程度仅次于DEBUG,通常只记录关键节点信息,用于确认一切都是按照我们预期的那样进行工作 |
WARNING | 当某些不期望的事情发生时记录的信息(如,磁盘可用空间较低),但是此时应用程序还是正常运行的 |
ERROR | 由于一个更严重的问题导致某些功能不能正常运行时记录的信息 |
CRITICAL | 当发生严重错误,导致应用程序不能继续运行时记录的信息 |
同花顺客户端软件,炒股外挂,炒股机器人,自动化买入卖出股票
获取字典的某个Key,可直接使用 下标[] 方式,但当key不存在时,会报错,可以采用如下方式安全处理:
dict_info = {'name': '温建宝', 'age': 18, 'address': '广东深圳'} print(dict_info.get('name2')) # 还可以设置一个默认返回值
删除字典的某个Key,可直接使用 del命令 和 pop()方法,但当key不存在时,会报错,可以采用如下2种方式安全处理
dict_info = {'name': '温建宝', 'age': 18, 'address': '广东深圳'} dict_info.pop('name', None) # 注意:需要给个输出默认值 print(dict_info)
自定义模块文件:json_util.py,解决如下报错问题:
TypeError: Object of type 'datetime' is not JSON serializable
import numpy as np import pandas as pd import matplotlib.pyplot as plt import seaborn as sns import statsmodels as sm
time模块中时间表现的格式主要有三种:
- timestamp:时间戳,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量;
- struct_time:时间元组,共有九个元素组;
- format time:格式化时间,已格式化的结构使时间更具可读性。包括自定义格式和固定格式;
这个问题是如何在一些场景下使用断言表达式,通常会有人误用它,所以我决定写一篇文章来说明何时使用断言,什么时候不用。
为那些还不清楚它的人,Python的assert是用来检查一个条件,如果它为真,就不做任何事。如果它为假,则会抛出AssertError并且包含错误信息