Python open读写文件实现脚本


Posted in Python onSeptember 06, 2008

1.open

使用open打开文件后一定要记得调用文件对象的close()方法。比如可以用try/finally语句来确保最后能关闭文件。

file_object = open('thefile.txt')
try:
  all_the_text = file_object.read( )
finally:
  file_object.close( )

注:不能把open语句放在try块里,因为当打开文件出现异常时,文件对象file_object无法执行close()方法。

2.读文件

读文本文件

input = open('data', 'r')
#第二个参数默认为r
input = open('data')

读二进制文件

input = open('data', 'rb')

读取所有内容

file_object = open('thefile.txt')
try:
  all_the_text = file_object.read( )
finally:
  file_object.close( )

读固定字节

file_object = open('abinfile', 'rb')
try:
  while True:
    chunk = file_object.read(100)
    if not chunk:
      break
    do_something_with(chunk)
finally:
  file_object.close( )

读每行

list_of_all_the_lines = file_object.readlines( )

如果文件是文本文件,还可以直接遍历文件对象获取每行:

for line in file_object:
    process line

3.写文件

写文本文件
output = open('data', 'w')

写二进制文件
output = open('data', 'wb')

追加写文件
output = open('data', 'w+')

写数据

file_object = open('thefile.txt', 'w')
file_object.write(all_the_text)
file_object.close( )

写入多行
file_object.writelines(list_of_text_strings)

注意,调用writelines写入多行在性能上会比使用write一次性写入要高。

Python 相关文章推荐
python2.7删除文件夹和删除文件代码实例
Dec 18 Python
开源软件包和环境管理系统Anaconda的安装使用
Sep 04 Python
微信跳一跳小游戏python脚本
Jan 05 Python
Python实现的本地文件搜索功能示例【测试可用】
May 30 Python
django+tornado实现实时查看远程日志的方法
Aug 12 Python
Django Admin中增加导出Excel功能过程解析
Sep 04 Python
详解Python3迁移接口变化采坑记
Oct 11 Python
Django框架模板用法入门教程
Nov 04 Python
Python如何通过Flask-Mail发送电子邮件
Jan 29 Python
基于TensorFlow中自定义梯度的2种方式
Feb 04 Python
Python获取、格式化当前时间日期的方法
Feb 10 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
May 20 Python
Python 过滤字符串的技巧,map与itertools.imap
Sep 06 #Python
比较详细Python正则表达式操作指南(re使用)
Sep 06 #Python
Python splitlines使用技巧
Sep 06 #Python
Python struct.unpack
Sep 06 #Python
Python 条件判断的缩写方法
Sep 06 #Python
Python 可爱的大小写
Sep 06 #Python
Python 除法小技巧
Sep 06 #Python
You might like
四月新番又没了,《Re:从零开始的异世界生活》第二季延期至7月播出
2020/05/06 日漫
Yii+MYSQL锁表防止并发情况下重复数据的方法
2016/07/14 PHP
PHP实现Google plus的好友拖拽分组效果
2016/10/21 PHP
PHP封装类似thinkphp连贯操作数据库Db类与简单应用示例
2019/05/08 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
laravel框架邮箱认证实现方法详解
2019/11/22 PHP
JavaScript 异步调用框架 (Part 5 - 链式实现)
2009/08/04 Javascript
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
js鼠标点击事件在各个浏览器中的写法及Event对象属性介绍
2013/01/24 Javascript
jQuery bxCarousel实现图片滚动切换效果示例代码
2013/05/15 Javascript
JS制作适用于手机和电脑的通知信息效果
2016/10/28 Javascript
JS如何获取地址栏的参数实例讲解
2018/10/06 Javascript
Nodejs中怎么实现函数的串行执行
2019/03/02 NodeJs
基于JS实现父组件的请求服务过程解析
2019/10/14 Javascript
node.js express框架实现文件上传与下载功能实例详解
2019/10/15 Javascript
countup.js实现数字动态叠加效果
2019/10/17 Javascript
Python实现把utf-8格式的文件转换成gbk格式的文件
2015/01/22 Python
通过数据库对Django进行删除字段和删除模型的操作
2015/07/21 Python
Python实现好友全头像的拼接实例(推荐)
2017/06/24 Python
python中matplotlib实现最小二乘法拟合的过程详解
2017/07/11 Python
Python Matplotlib实现三维数据的散点图绘制
2019/03/19 Python
Django框架视图函数设计示例
2019/07/29 Python
基于pytorch的保存和加载模型参数的方法
2019/08/17 Python
Python面向对象之Web静态服务器
2019/09/03 Python
Tensorflow 1.0之后模型文件、权重数值的读取方式
2020/02/12 Python
python中用ggplot绘制画图实例讲解
2021/01/26 Python
浅析移动设备HTML5页面布局
2015/12/01 HTML / CSS
三星美国官网:Samsung美国
2017/02/06 全球购物
Linux如何压缩可执行文件
2013/10/21 面试题
大专应届生个人简历的自我评价
2013/10/15 职场文书
酒店管理毕业生自荐信
2013/10/24 职场文书
乡镇镇长个人整改措施
2014/10/01 职场文书
社区四风存在问题及整改措施
2014/10/26 职场文书
2015年大学生入党自荐书
2015/03/24 职场文书
2015年信息中心工作总结
2015/05/25 职场文书
花木兰观后感
2015/06/10 职场文书