python不解压直接提取文件_用python不解压的读取bz2文件和gz文件
当一个文档特别大的时候(比如wikidata等知识库的dump),往往会采用bz2或者gz对其进行压缩,方便下载,同时减少存储空间(bz2压缩率更高一些)。
那么,如何不用解压也能读取原来的文档呢?
读取bz2文件
请使用bz2file这个第三方模块!一定不要使用python自带的bz2模块!
因为python官方的bz2模块不能处理multi-stream files,而不少大文件都是用这种方式压缩的。所以,为了避免不必要的麻烦,统一使用bz2file这个第三方模块吧.
用这个模块将bz2文件打开后,可以类似于普通的文本文件一样处理,详细用法见上面链接中的Documentation
样例代码如下:
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import bz2file
import os
if __name__ == "__main__":
inpath = os.path.join(".", "data", "wikidata-20151130-all.json.bz2")
infile = bz2file.open(inpath, "r")
for i in xrange(3):
print(infile.readline())
这里,假设我们将wikidata的dump存储在”./data”文件夹下。
首先,我们用bz2file.open打开bz2文件。这里”r”表示读,”w”表示写。
然后,我们读取这个文件的前三行。
读取gz文件
类似于bz2,使用python的gzip这个package即可
#!/usr/bin/python
# -*- coding: UTF-8 -*-
import gzip
import os
if __name__ == "__main__":
inpath = os.path.join(".", "data", "test.gz")
infile = gzip.GzipFile(inpath, "r")
for i in xrange(3):
print(infile.readline())
这里我们要读取data文件夹下的test.gz文件
通过GzipFile打开,之后通过readline读入即可
更多使用方法请参考gzip官方文档
python不解压直接提取文件_用python不解压的读取bz2文件和gz文件相关推荐
- python从视频中提取音频信号_通过python从音频文件中提取音频
我认为你的问题有三个不同的部分: >如何将音频文件加载到python中? >如何计算python中的频谱? >如何处理频谱? 1.如何在python中加载音频文件? 使用scipy可 ...
- python从视频中提取音频信号_三行Python代码提取视频中的音频
作者:小舟逝江海 http://suo.im/5yOtbx 写在开头 身处数据爆炸增长的时代,各种各样的数据都飞速增长,视频数据也不例外.我们可以使用 python 来提取视频中的音频,而这仅仅需要安 ...
- python从html中提取文本_使用Python从HTML中提取可读文本?
我知道像html2text,BeautifulSoup等的utils,但问题是他们也提取javascript并将其添加到文本中,因此很难将它们分开. htmlDom = BeautifulSoup(w ...
- python读取nii文件_读取nii或nii.gz文件中的信息即输出图像操作
读取nii或者nii.gz文件中的信息,并且输出图像. import matplotlib from matplotlib import pylab as plt import nibabel as ...
- 读取nii或nii.gz文件中的信息即输出图像
读取nii或者nii.gz文件中的信息,并且输出图像. import matplotlib from matplotlib import pylab as plt import nibabel as ...
- python递归解压文件_递归调用解压zip包或rar包
不知道有没有小伙伴跟我一样犯这样的懒,一些简单重复的工作,总是嫌麻烦,懒得一步步去做,还每次都重复一样的操作.比如解压zip或rar的包,也许你会说,不就解压嘛,有啥的.问题来了,如果只是一个简单的压 ...
- python怎么读取word文件_使用python编辑和读取word文档
python调用word接口主要用到的模板为python-docx,基本操作官方文档有说明. 使用python新建一个word文档,操作就像文档里介绍的那样: 1 from docx importDo ...
- python只读打开文件_关于python:只读文件的第一行?
如何使用python只得到文件的第一行作为字符串? 如果您已经阅读了文件("在阅读了文件之后"),那么您已经阅读了第一行!(假设至少有一行.) 请注意,现在所说的问题与原来的含义不 ...
- python脚本下载钉钉的文件_利用python下载钉钉群直播视频
今年因为疫情的原因不能开学,所以很多学校都使用钉钉进行在线授课,但是在钉钉里面点击下载群直播回放的时候却发现: 真好,管理员设置了不允许下载回放. 这就完了吗?NoNoNo!既然正常途径下载不了,那么 ...
最新文章
- mysql平均分 面试_经典mysql面试题 - 学生成绩
- GDB 程序调试简单实践
- 恢复后缀phobos勒索病毒 解密成功 百分百恢复sql文件
- php strncmp,php strncmp函数怎么用?
- MATLAB——阈值分割(一)
- ITK:使图像的一部分透明化
- 【Zabbix】使用dbforbbix 2.2-beta监控Redhat 7.0上的Oracle、Mysql
- Flask框架-蓝图系统
- 我也来推荐一个强大的flash应用
- matlab 图像读取长宽_计算机视觉学习笔记1 图像读取显示和尺寸变换
- DevExpress 13.2.6源码、安装包、汉化包下载和教程
- 第十章 嵌入式linux的调试技术
- 《Redis视频教程》(p17)
- 在线词云工具生成词云图——Wordart的使用
- 史上最完整的Android开发工具集合(附带下载地址)
- 如何修改host文件
- 利用开区间覆盖的约简给出有限覆盖定理的一个新证明
- Linux下ps -ef 和 ps aux 的区别及格式详解
- 零时科技:DeFi 项目 Lendf.Me 遭黑客攻击复盘分析
- 【DeprecationWarning: BICUBIC is deprecated and will be removed in Pillow 10 (2023-07-01).的解决方案】
热门文章
- 【橙子】C#Unity--3D迷宫
- 【LeetCode43:字符串相乘(大数相乘)(Java实现)】
- linux购物系统源码,2021.4月LooShop购物商城网站PHP源码运营打包版 PC+手机+微信三站合一 带支付宝微信等第三方在线支付功能...
- SpringCloud精妙的设计,你还不知道?
- --init--方法
- Maya:无法删除引用“没有与以下名称匹配的名称空间”
- 全篇干货系统集成项目管理工程师经验
- VM_VM虚拟机ip地址和主机一样
- iview@2.13.0/1版本,Table组件IE9不兼容的问题
- 基于likeadmin通用管理后台搭建—高校科研管理系统