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模块学习 re 正则表达式
May 19 Python
浅谈python新手中常见的疑惑及解答
Jun 14 Python
Python采用Django制作简易的知乎日报API
Aug 03 Python
python爬虫实现教程转换成 PDF 电子书
Feb 19 Python
Python使用cx_Freeze库生成msi格式安装文件的方法
Jul 10 Python
使用Python实现租车计费系统的两种方法
Sep 29 Python
Python实现 版本号对比功能的实例代码
Apr 18 Python
python笔记之mean()函数实现求取均值的功能代码
Jul 05 Python
基于django 的orm中非主键自增的实现方式
May 18 Python
详解Python3 定义一个跨越多行的字符串的多种方法
Sep 06 Python
如何基于pandas读取csv后合并两个股票
Sep 25 Python
聊聊基于pytorch实现Resnet对本地数据集的训练问题
Mar 25 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
cmd下运行php脚本
2008/11/25 PHP
深入file_get_contents与curl函数的详解
2013/06/25 PHP
php过滤敏感词的示例
2014/03/31 PHP
PHP实现的MongoDB数据库操作类分享
2014/05/12 PHP
PHP Web木马扫描器代码分享
2015/09/06 PHP
Zend Framework动作助手Url用法详解
2016/03/05 PHP
php 多进程编程父进程的阻塞与非阻塞实例分析
2020/02/22 PHP
IE6/7/8/9不支持exec的简写方式
2011/05/25 Javascript
JSONP 跨域访问代理API-yahooapis实现代码
2012/12/02 Javascript
select多选 multiple的使用示例
2014/06/16 Javascript
利用js实现禁止复制文本信息
2015/06/03 Javascript
c#程序员对TypeScript的认识过程
2015/06/19 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
JavaScript关于提高网站性能的几点建议(一)
2016/07/24 Javascript
微信小程序 购物车简单实例
2016/10/24 Javascript
JS实现“隐藏与显示”功能(多种方法)
2016/11/24 Javascript
实现一个简单的vue无限加载指令方法
2017/01/10 Javascript
jquery实现购物车基本功能
2019/10/25 jQuery
解决VUE 在IE下出现ReferenceError: Promise未定义的问题
2020/11/07 Javascript
跟老齐学Python之集成开发环境(IDE)
2014/09/12 Python
python模块简介之有序字典(OrderedDict)
2016/12/01 Python
利用Python生成文件md5校验值函数的方法
2017/01/10 Python
scrapy spider的几种爬取方式实例代码
2018/01/25 Python
Python3.6.0+opencv3.3.0人脸检测示例
2018/05/25 Python
Python基于datetime或time模块分别获取当前时间戳的方法实例
2019/02/19 Python
python Popen 获取输出,等待运行完成示例
2019/12/30 Python
Python常驻任务实现接收外界参数代码解析
2020/07/21 Python
美国转售二手商品的电子商务平台:BLINQ
2018/12/13 全球购物
使用索引(Index)有哪些需要考虑的因素
2016/10/19 面试题
应届大专毕业生个人自荐信
2013/09/22 职场文书
空中乘务员岗位职责
2014/03/08 职场文书
电子专业自荐信
2014/07/01 职场文书
党课培训心得体会
2014/09/02 职场文书
2015年环境整治工作总结
2015/05/22 职场文书
高考百日冲刺决心书
2015/09/23 职场文书
幼儿体育课教学反思
2016/02/16 职场文书