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字符串切片
May 20 Python
Django中在xadmin中集成DjangoUeditor过程详解
Jul 24 Python
django之对FileField字段的upload_to的设定方法
Jul 28 Python
python模块导入的方法
Oct 24 Python
给 TensorFlow 变量进行赋值的方式
Feb 10 Python
python 遗传算法求函数极值的实现代码
Feb 11 Python
python scatter函数用法实例详解
Feb 11 Python
python实现滑雪游戏
Feb 22 Python
python使用nibabel和sitk读取保存nii.gz文件实例
Jul 01 Python
解决python 虚拟环境删除包无法加载的问题
Jul 13 Python
python中upper是做什么用的
Jul 20 Python
Python实现JS解密并爬取某音漫客网站
Oct 23 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
thinkphp实现图片上传功能分享
2014/03/04 PHP
ThinkPHP字符串函数及常用函数汇总
2014/07/18 PHP
用 Composer构建自己的 PHP 框架之基础准备
2014/10/30 PHP
PHP实现文件上传与下载实例与总结
2016/03/13 PHP
Yii中srbac权限扩展模块工作原理与用法分析
2016/07/14 PHP
JavaScript 学习笔记(六)
2009/12/31 Javascript
Pro JavaScript Techniques学习笔记
2010/12/28 Javascript
JS实现可改变列宽的table实例
2013/07/02 Javascript
javascript的tab切换原理与效果实现方法
2015/01/10 Javascript
JQuery使用index方法获取Jquery对象数组下标的方法
2015/05/18 Javascript
在easyUI开发中,出现jquery.easyui.min.js函数库问题的解决办法
2015/09/11 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
通用javascript代码判断版本号是否在版本范围之间
2015/11/29 Javascript
javaScript数组迭代方法详解
2016/04/14 Javascript
简单的JS轮播图代码
2016/07/18 Javascript
JS中检测数据类型的几种方式及优缺点小结
2016/12/12 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
jQuery实现简易的输入框字数计数功能示例
2017/01/16 Javascript
nodejs个人博客开发第五步 分配数据
2017/04/12 NodeJs
jquery实现简单自动轮播图效果
2020/07/29 jQuery
[56:18]DOTA2上海特级锦标赛主赛事日 - 4 败者组第四轮#2 MVP.Phx VS Fnatic第二局
2016/03/05 DOTA
python 生成不重复的随机数的代码
2011/05/15 Python
Python切换pip安装源的方法详解
2016/11/18 Python
python中多层嵌套列表的拆分方法
2018/07/02 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
python如何构建mock接口服务
2021/01/28 Python
详解CSS3选择器的使用方法汇总
2015/11/24 HTML / CSS
HTML5安全介绍之内容安全策略(CSP)简介
2012/07/10 HTML / CSS
string = null 和string = ''的区别
2013/04/28 面试题
审计主管岗位职责
2014/01/31 职场文书
2014年国培研修感言
2014/03/09 职场文书
材料员岗位职责
2014/03/13 职场文书
2014学习十八届四中全会精神思想汇报范文
2014/10/23 职场文书
幼儿园教师岗位职责
2015/04/02 职场文书
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android