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实现html转ubb代码(html2ubb)
Jul 03 Python
浅谈python中copy和deepcopy中的区别
Oct 23 Python
Python在不同目录下导入模块的实现方法
Oct 27 Python
详解supervisor使用教程
Nov 21 Python
tensorflow: 查看 tensor详细数值方法
Jun 13 Python
使用 Python 实现文件递归遍历的三种方式
Jul 18 Python
python requests爬取高德地图数据的实例
Nov 10 Python
OpenCV 模板匹配
Jul 10 Python
Python 实现数组相减示例
Dec 27 Python
python字符串常用方法及文件简单读写的操作方法
Mar 04 Python
pyecharts动态轨迹图的实现示例
Apr 17 Python
用python写一个带有gui界面的密码生成器
Nov 06 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
详解WordPress中给链接添加查询字符串的方法
2015/12/18 PHP
JObj预览一个JS的框架
2008/03/13 Javascript
对new functionName()定义一个函数的理解
2014/05/22 Javascript
jQuery应用之jQuery链用法实例
2015/01/19 Javascript
JavaScript原型及原型链终极详解
2016/01/04 Javascript
Bootstrap CSS组件之下拉菜单(dropdown)
2016/12/17 Javascript
JavaScript实现自定义媒体播放器方法介绍
2017/01/03 Javascript
配置nodejs环境的方法
2017/05/13 NodeJs
在Js页面通过POST传递参数跳转到新页面详解
2017/08/25 Javascript
vue.js项目打包上线的图文教程
2017/11/16 Javascript
详解JavaScript添加给定的标签选项
2018/09/17 Javascript
vuedraggable+element ui实现页面控件拖拽排序效果
2020/07/29 Javascript
jQuery中使用validate插件校验表单功能
2019/05/24 jQuery
javascript使用substring实现的展开与收缩文字功能示例
2019/06/17 Javascript
20个必会的JavaScript面试题(小结)
2019/07/02 Javascript
基于Vue中使用节流Lodash throttle详解
2019/10/30 Javascript
React.js组件实现拖拽排序组件功能过程解析
2020/04/27 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
python中global用法实例分析
2015/04/30 Python
python之virtualenv的简单使用方法(必看篇)
2017/11/25 Python
Pycharm之快速定位到某行快捷键的方法
2019/01/20 Python
python+pygame实现坦克大战
2019/09/10 Python
在Python中使用turtle绘制多个同心圆示例
2019/11/23 Python
python yield和Generator函数用法详解
2020/02/10 Python
利用 Python ElementTree 生成 xml的实例
2020/03/06 Python
Python3.9 beta2版本发布了,看看这7个新的PEP都是什么
2020/06/10 Python
python打包生成so文件的实现
2020/10/30 Python
台湾前三大B2C购物网站:MOMO购物网
2017/04/27 全球购物
德国运动营养和健身网上商店:Myprotein.de
2018/07/18 全球购物
优秀高中生事迹材料
2014/02/11 职场文书
中班中秋节活动反思
2014/02/18 职场文书
信息管理专业自荐书
2014/06/05 职场文书
2014年班级工作总结
2014/11/14 职场文书
降价通知函
2015/04/23 职场文书
2015年食品安全宣传周活动总结
2015/07/09 职场文书
经典爱情感言
2015/08/03 职场文书