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 相关文章推荐
使用Python的Flask框架表单插件Flask-WTF实现Web登录验证
Jul 12 Python
详解python的数字类型变量与其方法
Nov 20 Python
python实现画圆功能
Jan 25 Python
Django框架多表查询实例分析
Jul 04 Python
django 外键model的互相读取方法
Dec 15 Python
Python 序列化和反序列化库 MarshMallow 的用法实例代码
Feb 25 Python
Python垃圾回收机制三种实现方法
Apr 27 Python
基于python计算并显示日间、星期客流高峰
May 07 Python
改变 Python 中线程执行顺序的方法
Sep 24 Python
如何使用Django Admin管理后台导入CSV
Nov 06 Python
python复合条件下的字典排序
Dec 18 Python
Pillow图像处理库安装及使用
Apr 12 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
浅谈PHP调用Webservice思路及源码分享
2014/06/04 PHP
CheckBox 如何实现全选?
2006/06/23 Javascript
用js自动判断浏览器分辨率的代码
2007/01/28 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
使用jquery实现图文切换效果另加特效
2013/01/20 Javascript
jQuery contains过滤器实现精确匹配使用方法
2013/04/12 Javascript
Jquery的each里用return true或false代替break或continue
2014/05/21 Javascript
Javascript中的关键字和保留字整理
2014/10/16 Javascript
jQuery中$.click()无效问题分析
2015/01/29 Javascript
微信js-sdk上传与下载图片接口用法示例
2016/10/12 Javascript
ES6新特性二:Iterator(遍历器)和for-of循环详解
2017/04/20 Javascript
vue使用axios实现文件上传进度的实时更新详解
2017/12/20 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
Node爬取大批量文件的方法示例
2019/06/28 Javascript
微信小程序实现树莓派(raspberry pi)小车控制
2020/02/12 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
OpenLayers3实现地图鹰眼以及地图比例尺的添加
2020/09/25 Javascript
[04:15]DOTA2-DPC中国联赛 正赛 Ehome vs Aster 选手采访
2021/03/11 DOTA
从Python的源码浅要剖析Python的内存管理
2015/04/16 Python
python字典操作实例详解
2017/11/16 Python
Python使用sorted对字典的key或value排序
2018/11/15 Python
python实现logistic分类算法代码
2020/02/28 Python
Django认证系统user对象实现过程解析
2020/03/02 Python
比利时买床:Beter Bed
2017/12/06 全球购物
酒店执行总经理岗位职责
2013/12/15 职场文书
迟到检讨书500字
2014/02/05 职场文书
经济管理毕业生求职信
2014/03/15 职场文书
防汛工作情况汇报
2014/10/28 职场文书
社区党员干部承诺书
2015/05/04 职场文书
高三数学教学反思
2016/02/18 职场文书
工作一年自我鉴定
2019/06/20 职场文书
2019关于实习生工作安排及待遇的管理方案!
2019/07/16 职场文书
Python连续赋值需要注意的一些问题
2021/06/03 Python
Redis实战高并发之扣减库存项目
2022/04/14 Redis
oracle设置密码复杂度及设置超时退出的功能
2022/06/28 Oracle