当前位置: 首页 > news >正文

python运行不了、显示警告_Python xlrd:禁止显示警告消息

查看xlrd docs的相关部分。open_workbook函数的第二个参数是logfile,它应该是一个打开的文件对象或类似的操作。它只需要支持一个write方法。它默认为sys.stdout。

所以,像这样的东西(未经测试)应该可以完成这项工作:class MyFilter(object):

def __init__(self, mylogfile=sys.stdout):

self.f = mylogfile

def write(self, data):

if "WARNING *** OLE2 inconsistency" not in data:

self.f.write(data)

#start up

log = open("the_log_file.txt", "w")

log_filter = MyFilter(log)

book = xlrd.open_workbook("foo.xls", logfile=log_filter)

# shut down

log.close()

# or use a "with" statement

更新以回应@DaniloBargen的回答:

单独编写换行符的不是xlrd,而是Pythonprint语句/函数。此脚本:class FakeFile(object):

def write(self, data):

print repr(data)

ff = FakeFile()

for x in "foo bar baz".split():

print >> ff, x

为所有Python2.2到2.7(包括2.2和2.7)生成此输出:'foo'

'\n'

'bar'

'\n'

'baz'

'\n'

适当的现代化脚本(作为函数而不是语句打印)为2.6、2.7、3.1、3.2和3.3生成相同的输出。你可以用一个更复杂的过滤器类来解决这个问题。以下示例还允许检查短语序列:import sys, glob, xlrd

class MyFilter(object):

def __init__(self, mylogfile=sys.stdout, skip_list=()):

self.f = mylogfile

self.state = 0

self.skip_list = skip_list

def write(self, data):

if self.state == 0:

found = any(x in data for x in self.skip_list)

if not found:

self.f.write(data)

return

if data[-1] != '\n':

self.state = 1

else:

if data != '\n':

self.f.write(data)

self.state = 0

logf = open("the_log_file.txt", "w")

skip_these = (

"WARNING *** OLE2 inconsistency",

)

try:

log_filter = MyFilter(logf, skip_these)

for fname in glob.glob(sys.argv[1]):

logf.write("=== %s ===\n" % fname)

book = xlrd.open_workbook(fname, logfile=log_filter)

finally:

logf.close()

相关文章:

  • linux安装python3环境_Linux环境安装python3
  • 用python打印出一个人的照片_Python用dilb提取照片上人脸的示例
  • getdata提取曲线数据_基于Hypergraph创建曲线(矢量)的结果响应
  • ffmpeg 为取经而来_清华,那个穿越百年而来的白衣少年
  • python 数组 动态赋值_在python中使用numpy创建动态数组
  • java filter 是否能拦截到form表单的所有数据_java 知识点总结(框架篇)
  • python使用xlrd读取xlsx文件_python操作excel文件一(xlrd读取文件)
  • 如何在桌面上显示一行字_只需一个命令启动Hyper-V虚拟机,高手们是如何做到的
  • python相对路径怎么写_Python代码写的丑怎么办?试试这几款神器!
  • java商品管理txt_Java 异常处理的六个建议
  • python里input是什么意思_Tensorflow:标签中的“input”和“input”是什么意思_图像.py在tensorflow示例中...
  • python3自动化软件发布系统pdf_Python 3自动化软件发布系统 -Django 2实战
  • java字符串压缩后反而变长了_不得不爱的数据结构和算法,BAT面试必考,想进大厂不可错过——百战Java课程更新08.17...
  • python nodejs php_Python,Javascript(NodeJS),PHP之间的AES加密解密
  • 主键id 请求参数用什么类型_架构实战(6)——关于主键的那点事儿
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【node学习】协程
  • 【跃迁之路】【735天】程序员高效学习方法论探索系列(实验阶段492-2019.2.25)...
  • es6
  • Eureka 2.0 开源流产,真的对你影响很大吗?
  • Iterator 和 for...of 循环
  • JavaScript/HTML5图表开发工具JavaScript Charts v3.19.6发布【附下载】
  • java架构面试锦集:开源框架+并发+数据结构+大企必备面试题
  • Java小白进阶笔记(3)-初级面向对象
  • laravel with 查询列表限制条数
  • magento2项目上线注意事项
  • MQ框架的比较
  • nginx(二):进阶配置介绍--rewrite用法,压缩,https虚拟主机等
  • rc-form之最单纯情况
  • spring-boot List转Page
  • supervisor 永不挂掉的进程 安装以及使用
  • 海量大数据大屏分析展示一步到位:DataWorks数据服务+MaxCompute Lightning对接DataV最佳实践...
  • 基于Android乐音识别(2)
  • 聊聊spring cloud的LoadBalancerAutoConfiguration
  • 前端临床手札——文件上传
  • 前嗅ForeSpider教程:创建模板
  • 算法---两个栈实现一个队列
  • 微信小程序实战练习(仿五洲到家微信版)
  • # Java NIO(一)FileChannel
  • #AngularJS#$sce.trustAsResourceUrl
  • #我与Java虚拟机的故事#连载08:书读百遍其义自见
  • (¥1011)-(一千零一拾一元整)输出
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (MonoGame从入门到放弃-1) MonoGame环境搭建
  • (简单有案例)前端实现主题切换、动态换肤的两种简单方式
  • (万字长文)Spring的核心知识尽揽其中
  • (续)使用Django搭建一个完整的项目(Centos7+Nginx)
  • (转)负载均衡,回话保持,cookie
  • (转)人的集合论——移山之道
  • (转)原始图像数据和PDF中的图像数据
  • (最完美)小米手机6X的Usb调试模式在哪里打开的流程
  • ../depcomp: line 571: exec: g++: not found
  • .net core开源商城系统源码,支持可视化布局小程序
  • .net framework 4.0中如何 输出 form 的name属性。
  • .Net Web窗口页属性