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中使用第三方库xlutils来追加写入Excel文件示例
Apr 05 Python
Django自定义分页与bootstrap分页结合
Feb 22 Python
Python使用import导入本地脚本及导入模块的技巧总结
Aug 07 Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 Python
pytorch多GPU并行运算的实现
Sep 27 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
Nov 26 Python
Pycharm最新激活码2019(推荐)
Dec 31 Python
python列表切片和嵌套列表取值操作详解
Feb 27 Python
PyTorch中Tensor的数据类型和运算的使用
Sep 03 Python
python装饰器三种装饰模式的简单分析
Sep 04 Python
爬虫代理的cookie如何生成运行
Sep 22 Python
详解Python GUI编程之PyQt5入门到实战
Dec 10 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
【星际争霸1】人族1v7家ZBath
2020/03/04 星际争霸
PHP在字符串中查找指定字符串并删除的代码
2008/10/02 PHP
解析php中static,const与define的使用区别
2013/06/18 PHP
CentOS 安装 PHP5.5+Redis+XDebug+Nginx+MySQL全纪录
2015/03/25 PHP
php生成动态验证码gif图片
2015/10/19 PHP
PHP 计算两个时间段之间交集的天数示例
2019/10/24 PHP
PHP+Redis链表解决高并发下商品超卖问题(实现原理及步骤)
2020/08/03 PHP
createElement动态创建HTML对象脚本代码
2008/11/24 Javascript
js 多浏览器分别判断代码
2010/04/01 Javascript
javascript学习笔记(八) js内置对象
2012/06/19 Javascript
Extjs 继承Ext.data.Store不起作用原因分析及解决
2013/04/15 Javascript
Document.location.href和.replace的区别示例介绍
2014/03/04 Javascript
Js冒泡事件详解及阻止示例
2014/03/21 Javascript
解决js函数闭包内存泄露问题的办法
2016/01/25 Javascript
JavaScript编写一个简易购物车功能
2016/09/17 Javascript
Angular2 (RC4) 路由与导航详解
2016/09/21 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
关于redux-saga中take使用方法详解
2018/02/27 Javascript
vue之浏览器存储方法封装实例
2018/03/15 Javascript
基于element-ui的rules中正则表达式
2018/09/04 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
python中sleep函数用法实例分析
2015/04/29 Python
Python基础入门之seed()方法的使用
2015/05/15 Python
Opencv+Python实现图像运动模糊和高斯模糊的示例
2019/04/11 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
Python2 与Python3的版本区别实例分析
2020/03/30 Python
python输出结果刷新及进度条的实现操作
2020/07/13 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
Charles & Colvard官网:美国莫桑石品牌
2019/06/05 全球购物
介绍一下Ruby中的对象,属性和方法
2012/07/11 面试题
师德学习感言
2014/01/31 职场文书
中专自我鉴定
2014/02/05 职场文书
一年级学生期末评语
2014/04/21 职场文书
2015-2016年小学教导工作总结
2015/07/21 职场文书
SpringBoot 整合mongoDB并自定义连接池的示例代码
2022/02/28 MongoDB