Python中文件操作简明介绍


Posted in Python onApril 13, 2015

打开文件

open函数返回一个文件对象,基本语法:

●file_object = open(file_name, access_mode='r'[,buffering=-1])
file_name 是包含要打开的文件名字的字符串, 它可以是相对路径或者绝对路径.
●可选变量access_mode 也是一个字符串, 代表文件打开的模式. 通常, 文件使用模式 ‘r', ‘w', 或是 ‘a'模式来打开, 分别代表读取, 写入和追加.
●另外一个可选参数 buffering 用于指示访问文件所采用的缓冲方式. 其中 0 表示不缓冲, 1表示只缓冲一行数据, 任何其它大于 1 的值代表使用给定值作为缓冲区大小. 不提供该参数或者给定负值代表使用系统默认缓冲机制

文件内建方法

读出

read(size) 方法用来直接读取字节到字符串中, 最多读取给定数目个字节.如果size没有给定,文件将被全部读出.
readline() 方法读取打开文件的一行,和 read() 相同, 它也有一个可选的 size 参数, 默认为 -1, 代表读至行结束符. 如果提供了该参数, 那么在超过 size 个字节后会返回不完整的行.
readlines() 它会读取所有(剩余的)行然后把它们作为一个字符串列表返回.

写入

write()写入字符.
writelines()写入行.这里注意需要显示写入换行符.

文件内移动

seek(offset)移动当前读写位置到指定的offset位置.每次write和read操作后,当前读写位置都会变动.

文件迭代

新方法(更高效)

for eachLine in f

老的方法:
for eachLine in f.readline():

关闭文件

close() 通过关闭文件来结束对它的访问.写入文件后不关闭文件可能会丢失缓冲区数据.

缓冲区数据写入文件

flush() 方法会直接把内部缓冲区中的数据立刻写入文件.

截取文件

truncate() 方法将文件截取到当前文件指针位置或者到给定 size , 以字节为单位.

实例讲解

#!/usr/bin/python

#coding=utf-8
#以写方式打开一个名为welcome.txt文件

f = open("welcome.txt", 'w')
#将数据写入文件

f.writelines("welcome to here\n")

f.writelines("Thank you\n")

f.writelines("exit\n")
#刷新文件

f.flush()
#关闭文件

f.close()
#以读方式打开一个名为welcome.txt文件

f = open("welcome.txt", 'r')

print f.read(8)
#重置读写位置,回到文件最开始位置

f.seek(0)

print f.readline()

输出
welcome 

welcome to here
Python 相关文章推荐
Python bsddb模块操作Berkeley DB数据库介绍
Apr 08 Python
详解Python中的文本处理
Apr 11 Python
Python中动态创建类实例的方法
Mar 24 Python
Python tkinter模块弹出窗口及传值回到主窗口操作详解
Jul 28 Python
Python基于numpy灵活定义神经网络结构的方法
Aug 19 Python
Python lambda函数基本用法实例分析
Mar 16 Python
python如何为创建大量实例节省内存
Mar 20 Python
深入浅析Python传值与传址
Jul 10 Python
Python实现多态、协议和鸭子类型的代码详解
May 05 Python
python神经网络编程实现手写数字识别
May 27 Python
python绘图模块之利用turtle画图
Feb 12 Python
PyTorch dropout设置训练和测试模式的实现
May 27 Python
Python单元测试框架unittest简明使用实例
Apr 13 #Python
进一步了解Python中的XML 工具
Apr 13 #Python
Python中的模块和包概念介绍
Apr 13 #Python
Python多线程编程简单介绍
Apr 13 #Python
Python中的面向对象编程详解(下)
Apr 13 #Python
简单介绍利用TK在Python下进行GUI编程的教程
Apr 13 #Python
Python中的面向对象编程详解(上)
Apr 13 #Python
You might like
一个简单的PHP投票程序源码
2007/03/11 PHP
php数组函数序列之array_keys() - 获取数组键名
2011/10/30 PHP
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
PHP常见漏洞攻击分析
2016/02/21 PHP
Symfony核心类概述
2016/03/17 PHP
js判断两个日期是否相等的方法
2013/09/10 Javascript
用jquery.sortElements实现table排序
2014/05/04 Javascript
javascript中clone对象详解
2014/12/03 Javascript
JavaScript让网页出现渐隐渐显背景颜色的方法
2015/04/21 Javascript
jQuery 1.9.1源码分析系列(十五)之动画处理
2015/12/03 Javascript
使用JS实现图片展示瀑布流效果的实例代码
2016/09/12 Javascript
JavaScript验证知识整理
2017/03/24 Javascript
vue表单绑定实现多选框和下拉列表的实例
2017/08/12 Javascript
详解如何让InstantClick兼容MathJax、百度统计等
2017/09/12 Javascript
重新认识vue之事件阻止冒泡的实现
2018/08/02 Javascript
微信小程序textarea层级过高的解决方法
2019/03/04 Javascript
搭建一个Koa后端项目脚手架的方法步骤
2019/05/30 Javascript
vue中使用element ui的弹窗与echarts之间的问题详解
2019/10/25 Javascript
Python编程判断一个正整数是否为素数的方法
2017/04/14 Python
Python3实现发送邮件和发送短信验证码功能
2020/01/07 Python
pycharm如何设置官方中文(如何汉化)
2020/12/29 Python
html5自动播放mov格式视频的实例代码
2020/01/14 HTML / CSS
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
澳大利亚香水在线:Price Rite Mart
2017/12/28 全球购物
亚洲航空公司官方网站:AirAsia
2019/11/25 全球购物
分厂厂长岗位职责
2013/12/29 职场文书
物理力学求职信
2014/02/18 职场文书
老师对学生的评语
2014/04/18 职场文书
民族学专业求职信
2014/07/28 职场文书
小学生运动会报道稿
2014/09/12 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
2014感恩节演讲稿大全
2014/10/11 职场文书
暑期实践个人总结
2015/03/06 职场文书
2015年教师个人业务工作总结
2015/10/23 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
如何用PHP实现多线程编程
2021/05/26 PHP