python读压缩文件内容_使用Python读写及压缩和解压缩文件的示例
读写文件
首先看一个例子: f = open('thefile.txt','w') #以写方式打开,
try:
f.write('wokao')
finally:
f.close()
文件的打开方式: f = open(‘文件','mode')
‘r':只读(缺省。如果文件不存在,则抛出错误)
‘w':只写(如果文件不存在,则自动创建文件),此时无法调用f.read()方法,且当调用f.write()时,将清空文件原有内容
‘a':附加到文件末尾
‘r+':读写
如果需要以二进制方式打开文件,需要在mode后面加上字符”b”,比如”rb”,”wb”等
文件的属性: f.closed #标记文件是否已经关闭,由close()改写
f.encoding #文件编码
f.mode #打开模式
f.name #文件名
f.newlines #文件中用到的换行模式,是一个tuple
f.softspace #boolean型,一般为0,据说用于print
文件的读写方法: f.read([size]) #size为读取的长度,以byte为单位
f.readline([size]) #读一行,如果定义了size,有可能返回的只是一行的一部分
f.readlines([size]) #把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分
f.write(str) #把str写到文件中,write()并不会在str后加上一个换行符
f.writelines(seq) #把seq的内容全部写到文件中。这个函数也只是忠实地写入,不会在每行后面加上任何东西
f.close() #关闭文件
f.flush() #把缓冲区的内容写入硬盘
f.fileno() #返回一个长整型的”文件标签“
f.isatty() #文件是否是一个终端设备文件(unix系统中的)
f.tell() #返回文件操作标记的当前位置,以文件的开头为原点
f.next() #返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的
f.seek(offset[,from]) #将文件打操作标记移到offset的位置。这个offset一般是相对于文件的开头来计算的,一般为正数。但如果提供了from参数就不一定了,from可以为0表示从头开始计算,1表示以当前位置为原点计算。2表示以文件末尾为原点进行计算。需要注意,如果文件以a或a+的模式打开,每次进行写操作时,文件操作标记会自动返回到文件末尾。
f.truncate([size]) #把文件裁成规定的大小,默认的是裁到当前文件操作标记的位置。
python在读取一个文件时,会记住其在文件中的位置,如果第二次仍需要从头读取,则需要调用f.seek(0)重新从头开始读取。
一些例子: >>> f = open('hi.txt','w')
>>> f.closed
False
>>> f.mode
'w'
>>> f.name
'hi.txt'
>>> f.encoding
压缩和解压缩文件(zip/unzip)
1,单个文件压缩成zip文件 #!/usr/bin/python
import zipfile
f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED)
f.write('1.py')
f.write('/root/install.log')
f.close()
仔细观察压缩以后的archive.zip,里面有一个1.py和一个root的目录,root目录下有一个install.log
ZIP_DEFLATED是压缩标志,如果使用它需要编译了zlib模块,如果仅仅是打包而不压缩的话,可以改为zipfile.ZIP_STORED
2,把zip文件解压缩 #!/usr/bin/python
import zipfile
zfile = zipfile.ZipFile('archive.zip','r')
for filename in zfile.namelist():
data = zfile.read(filename)
file = open(filename, 'w+b')
file.write(data)
file.close()
如果archive.zip里有目录,则在当前目录下也应该存在对应的目录,否则会报错。
3,把整个文件夹压缩 #!/usr/bin/python
import zipfile
import os
f = zipfile.ZipFile('archive.zip','w',zipfile.ZIP_DEFLATED)
startdir = "c:\\\\mydirectory"
for dirpath, dirnames, filenames in os.walk(startdir):
for filename in filenames:
f.write(os.path.join(dirpath,filename))
f.close()
如果出现: Compression requires the (missing) zlib module
解决方法: yum install zlib zlib-devel
,然后重新编译安装python
python读压缩文件内容_使用Python读写及压缩和解压缩文件的示例相关推荐
- python替换文件内容_使用python替换文件内容
# 传入文件(file),将旧内容(old_content)替换为新内容(new_content) def replace(file, old_content, new_content): conte ...
- 怎么读取h5文件内容_【Python编程特训连载72】读取two.txt文件,模拟输出“两会”内容 答案公布...
董明珠是中国产业界的女强人,她曾经说过 "两会"的名言:"成功人的两会:开会,培训会.普通人的两会:约会,聚会.穷人的两会:这也不会,那也不会.奋斗的人两会:必须会,一定 ...
- 批量处理word文件内容_用python批量提取word文件信息,导出到excel文件
技术的运用可以解决大量重复处理的工作,提高效率. 比如,有大量的论文电子文档(.docx格式),需要提取文档中的题目.作者.单位等信息制成表格(.xlsx格式),一般每篇论文的题目在第1行,副标题在第 ...
- python如何读取weboutlook内容_用Python通过MAPI读取Outlook中的电子邮件
我正在尝试编写一个简短的程序,该程序将读取exchange/Outlook配置文件中某个文件夹中电子邮件的内容,以便可以操作数据.但是,我在查找有关python和exchange/Outlook集成的 ...
- python删除txt指定内容_使用Python删除文本文件中的部分内容 | 学步园
为了学习英语,我把从网上下载下来的电影转换成纯MP3文件,放到iTouch里去了,这样就可以直接练习听力了,另外把下载下来的字幕也放进去,听不懂的时候可以看,但有一个问题,网上载下来的字幕格式都如下所 ...
- python uiautomation选择list内容_使用python UIAutomation从QQ2017(v8.9)群界面获取所有群成员详细资料,...
首先安装pip install uiautomation, 再运行本文代码.或者下载https://github.com/yinkaisheng/Python-UIAutomation-for-Win ...
- python读excel字体颜色_无法使用python xlsxwri更改excel中的字体颜色
在XlsxWriter中使用条件格式时,最好先弄清楚要在Excel中执行什么操作,然后将其传输到XlsxWriter.在 在这种情况下,Excel不支持单元格与字符串相等.相反,你必须使用" ...
- python发送短信内容_通过Python发送短信
我正在使用以下代码连接到手机以发送短消息:import serial import time phone = serial.Serial() phone.baudrate = 38400 phone. ...
- python爬取小说内容_使用python爬取小说全部内容
爬取代码为import urllib.request from bs4 import BeautifulSoup #coding: utf-8 class xiaoShuo(): def __init ...
最新文章
- matlab 冒号操作符
- JAVA中console方法怎么用_Java中Console对象实例代码
- 每天5分钟玩转容器技术 ---- 系列文章
- 服务器如何导入数据库文件格式,服务器如何导入数据库文件格式
- 如何提取明细表头_如何在实际操作中应用偏移修剪?
- 数据结构和算法的选择
- threadlocal存连接对象的目的_ThreadLocal 介绍
- MySQL 报错:Translating SQLException with SQL state '42000', error code '1064', message
- 【Java篇】 Java小游戏中加入背景音乐
- 10KV高压电缆的直流耐压究竟是多少?
- html可以转换wps嘛,如何将图文并茂的网页快速转换为WPS或word文档
- D. Count GCD
- 屎上最详细最生动的TFT液晶显示屏原理介绍
- python dataframe重新索引_Concat DataFrame重新索引仅对唯一值索引对象有效
- 国行版苹果 ios 按键精灵无法联网问题处理
- C语言结构体struct的语法解析
- OO系统分析员之路--用例分析系列(4)--业务建模一般步骤和方法[整理重发]
- tomcat错误“Attribute value is quoted with which must be escaped when used within the value”
- 收藏了,挺有意思的生成太极图
- 智能信息检索课程设计
热门文章
- c java python go 哪种编程语言接近编程的本质_一图看懂编程语言迁移模式:终点站是Python、Go、JS...
- python新建文件夹口令_Python脚本破解压缩文件口令实例教程(zipfile)
- mysql中连接运算符_MySQL的运算符
- webpack html自动引入,开发必备的webpack4
- ajax调用后台java方法,jquery ajax再次封装,前台调用后台java方法直接返回数据
- HALCON 21.11:深度学习笔记(2)
- SpringBoot+Swagger整合API
- MySQL8.0二进制免编译部署过程详解(二)
- 为什么你应该在 OpenResty 项目中使用 lua-resty-core
- flask+uwsgi 在调试过程中让python文件的更改自动重启uwsgi