QMT中print内容同时输出到控制台和日志文件
在QMT中使用print可以打印出执行的日志,但是有时候执行程序时间长,打印的内容比较多,控制台中就要覆盖前面的内容,不能够完整的保留下来做分析,下面示例可以在print到控制台的同时记录到日志文件中。
#encoding:gbkimport pandas as pd
import numpy as np
import talib
import sys
import time#Logger类的定义
class Logger(object):def __init__(self,filename="Default.log"):self.terminal=sys.stdoutself.log=open(filename,"w",encoding="utf-8") #防止编码错误def write(self, message):self.terminal.write(message)self.log.write(message)def flush(self):pass#log初始化函数,在函数中初始化log对象
def loginit():t=time.strftime("-%Y%m%d-%H%M%S",time.localtime()) #时间戳filename='d:\stock\log\log'+t+'.txt'log=Logger(filename)sys.stdout=logdef init(ContextInfo):ContextInfo.stock_code_list=['000001.SZ']ContextInfo.accID='18510385'ContextInfo.set_universe(ContextInfo.stock_code_list)ContextInfo.set_account(ContextInfo.accID)loginit() #初始化log对象def handlebar(ContextInfo):timetag=ContextInfo.get_bar_timetag(ContextInfo.barpos)dt=timetag_to_datetime(timetag,'%Y-%m-%d %H:%M%S')print(dt,'-'*30)if ContextInfo.is_last_bar() or dt[:10]==ContextInfo.end[:10]:sys.stdout.log.close() #关闭文件sys.stdout=sys.stdout.terminal #恢复输出的控制台引用print('回测完成') #最后一句没有写到日志文件中
QMT中print内容同时输出到控制台和日志文件相关推荐
- Java知识积累——同时输出到控制台和指定文件,或直接输出到指定文件
很多时候的实际需求都不允许我们只是把结果输出到console就可以了,那么怎么把程序运行结果输出到指定文件,以及怎么能同时让其输出到指定文件和console呢? 通过网上搜索过来人的文章,找到了如下解 ...
- 使用jspdf插件将网页中的内容导出为高保真的pdf文件
文章目录 使用jspdf插件将网页中的内容导出为高保真的pdf文件 1. 将网页中的内容导出为pdf文件的四种方式比较 2. 第一种方式:html2canvas + jspdf 导出网页内容 2.1 ...
- linux 输出gc日志,Tomcat输出保存JVM GC日志文件
当系统出现问题时,分析java虚拟机GC日志可以帮助我们定位问题,一般来说, 我们可以通过制定JVM参数使tomcat保存GC日志文件,具体实现如下: Windows下 找到tomcat的解压目录,进 ...
- log4j输出多个自定义日志文件、动态配置多个日志文件
转:http://blog.sina.com.cn/s/blog_8417657f0101lskw.html log4j的强大功能无可置疑,但实际应用中免不了遇到某个功能需要输出独立的日志文件的情况, ...
- 记录-分模块输出到不同的日志文件
文章目录 原因剖析 解决1 测试 解决二 测试 今天碰到一个业务场景: 之前做好了一个web系统,接到任务需要将一个独立的Java系统嵌入到web系统中,Java系统嵌入顺利完成,此时出现了一个问题由 ...
- java 某个类 单独输出日志_log4j实现特定功能的日志单独输出到指定的日志文件...
如何实现按需要,使某个功能的日志单独输出到指定的日志文件呢? 其实只要在现有的log4j基础上稍加配置即可实现这一功能. 1.常用配置如下: #Level log4j.rootLogger = deb ...
- Nginx输出header到access日志文件
Nginx输出header到access日志文件 背景 配置 nginx配置如下 http块配置如下 日志效果如下 背景 为了排查线上的bug,需要在nginx的日志中,打印客户端上传上来的heade ...
- python输出文本换行_python中print怎么不换行输出
大家应该知道python中print之后是默认换行的, 那如何我们不想换行,且不想讲输出内容用一个print函数输出时,就需要改变print默认换行的属性, 方法如下:print('contents' ...
- 【Python】规范脚本Log输出,将log输出到控制台同时写入文件中
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.logging模块的引入 二.logging模块的使用 1.引入库 2.创建一个logger对象 3.将日志写入文 ...
最新文章
- 如何克服实施OKR的阻力?
- spider RPC更新至2.0.0-RELEASE
- hdu 2007题解
- C语言strncmp()函数(把 str1 和 str2 进行比较,最多比较前 n 个字节)
- 编译安卓的一些知识点
- from mysql partition select_爬虫(九十九)mysql详解二
- VUE3组合api的钩子函数生命周期
- objective-c(iOS5) 中weak和strong使用的区别
- 运行在MAMP Pro上的PhP和Mysql更改版本教程
- 产业互联网周报:博通610亿美元收购VMware;阿里云财报13年来首次年度盈利;华为:对所有供应商提出碳减排要求...
- 《善用佳软:高效能人士的软件应用之道》一第2章 办公软件:核心应用,实用技巧...
- word插入公式及编号右对齐
- [我叫以赏]Python获取B站UP主粉丝数
- 十二生肖的相合、相冲、相刑、相害
- Ant Design - Authorized
- 国税服务器反回文件错误,电子税务局常见问题解答电子税务局异常转办(一).pdf...
- 汉印HPRT HN-3208SR 驱动
- STM32cubemx——超声波测距
- 学生学籍管理系统~~登录界面(Java、SQL)
- Java 多文件夹合并