python关闭文件的方法_Python xlrd.Book:如何关闭文件?
我在一个循环中读取了150个excel文件,用xlrd.open_workbook()打开它们,它返回一个Book对象。最后,当我试图umount音量,我无法,当我与lsof检查,我发现文件6仍然开放:Python xlrd.Book:如何关闭文件?
$ lsof | grep volumename
python2 32349 deeenes mem REG 0,40 138240 181517 /.../150119.xls
python2 32349 deeenes mem REG 0,40 135168 181482 /.../150609.xls
python2 32349 deeenes mem REG 0,40 140800 181495 /.../140828.xls
python2 32349 deeenes 5r REG 0,40 140800 181495 /.../140828.xls
python2 32349 deeenes 6r REG 0,40 135168 181482 /.../150609.xls
python2 32349 deeenes 7r REG 0,40 138240 181517 /.../150119.xls
这里是我的功能,我读的XLS文件用: (剥离为了清楚)
import sys
import xlrd
from xlrd.biffh import XLRDError
def read_xls(xls_file, sheet = '', return_table = True):
try:
book = xlrd.open_workbook(xls_file, on_demand = True)
try:
sheet = book.sheet_by_name(sheet)
except XLRDError:
sheet = book.sheet_by_index(0)
table = [[str(c.value) for c in sheet.row(i)] for i in xrange(sheet.nrows)]
if not return_table:
table = None
return table
except IOError:
sys.stdout.write('No such file: %s\n' % xls_file)
sys.stdout.flush()
的Book对象不具有close()方法,也没有其属性中的任何打开的文件类型的对象,除了标准输出。这howto并没有告诉(这还没有找到官方文档)。我看不出我怎么能够关闭这个文件,而且看到其中的150个文件后6个文件仍然打开是很奇怪的。
编辑:它可能与this有关,但仍然不应该保留打开的文件,我不想读取所有工作表。
2015-10-20
deeenes
+1
的[有没有办法使用xlrd关闭工作簿]可能的复制(http://stackoverflow.com/questions/5403781/is-there-a-way-to-close -a-workbook-using-xlrd) –
+0
谢谢Reto,这是一个遗憾,我没有在建议中看到过这个。更确切地说,在一个注释'release_resources()'中提到,这应该对我有帮助。 –
+1
我检查,它的工作原理。在打开时使用'on_demand = True'时,需要在关闭时调用'book.release_resources()'。这只能在这个评论中找到:http://stackoverflow.com/questions/5403781/is-there-a-way-to-close-a-workbook-using-xlrd#comment10131975_5403934 –
python关闭文件的方法_Python xlrd.Book:如何关闭文件?相关推荐
- python如何创建excel文件_Python xlrd/xlwt 创建excel文件及常用操作
一.创建excel代码 备注:封装好了(可直接调用) """ -*- coding:utf-8 -*- @Time :2020/8/20 21:02 @Author :J ...
- python中写入csv文件的方法_Python写入CSV文件的方法
python笔记5-python2写csv文件中文乱码问题 前言 python2最大的坑在于中文编码问题,遇到中文报错首先加u,再各种encode.decode. 当list.tuple.dict里面 ...
- python文件分块读取_Python多进程分块读取超大文件的方法
本文实例讲述了Python多进程分块读取超大文件的方法.分享给大家供大家参考,具体如下: 读取超大的文本文件,使用多进程分块读取,将每一块单独输出成文件 # -*- coding: GBK -*- i ...
- python读取压缩文件的大小_python查看zip包中文件及大小的方法
python查看zip包中文件及大小的方法 本文实例讲述了python查看zip包中文件及大小的方法.分享给大家供大家参考.具体实现方法如下: #!/usr/bin/env python import ...
- python pdf脚本之家_Python实现简单拆分PDF文件的方法
本文实例讲述了Python实现简单拆分PDF文件的方法.分享给大家供大家参考.具体如下: 依赖pyPdf处理PDF文件 切分pdf文件 使用方法: 1)将要切分的文件放在input_dir目录下 2) ...
- python打乱列表的方法_python打乱列表
广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 随机打乱列表中的元素自己写函数用于随机打乱列表中的元素方案一:交换法随机选取原列 ...
- python重命名文件或目录_Python重命名多个文件的实例方法
Python中如何重命名多个文件 在Python3中可以使用rename()方法+listdir()方法来重命名多个文件,这两个方法都是os模块的一部分,非常方便.下面本篇文章就来带大家了解一下ren ...
- python操纵excel的方法_python操作Excel的几种方式
Python对Excel的读写主要有xlrd.xlwt.xlutils.openpyxl.xlsxwriter几种. 首先你的本地要有包文件,安装上面的包文件如下图 1.xlrd主要是用来读取exce ...
- python库的安装方法_Python库的安装方法
Python库的安装方法 Python的解释器CPython是开源的,我们可以下载查看其源代码,同时,Python语言的各种库也都是开源的.利用Python语言编程,可用的库有很多,在Python官方 ...
最新文章
- python 对 yaml 文件操作
- t - sql的阶梯:超越基础水平2:写子查询
- 上手机器学习,从搞懂这十大经典算法开始
- bootstrap19-内联表单
- 今天网络又出问题了,现在的问题变成原IP地址不可用
- utf-16 java_Java、Unicode、UTF-8、UTF-16之间的关系
- 转:模态对话框的支持 (IE,Firefox,Chrome)
- 4种不同类别的机器学习概述
- 菜鸟学Struts2——Interceptors
- 面试官:为什么要合并 HTTP 请求?
- Ubuntu输入法使用回车键后字符间距异常的问题
- wordpress提示“Error establishing a database connection“的解决办法
- min_max算法和alpha-beta剪枝 python实现
- CycleGan脱衣服(男人)
- Substrate 基础教程(Tutorials) -- 模拟网络 添加可信节点
- Js判断是否为数字,是否为空,是否为整形,是否为浮点型,是否为对象
- 微信防红不死码跳转微信防封源码
- MariaDB/Mysql数据库进阶知识
- 内网xshell传输文件命令_Xshell 传输文件
- 2019,淘宝无货源转型之路势在必行,单类目玩法实操案例解析