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中的__future__模块
Apr 27 Python
python实现类的静态变量用法实例
May 08 Python
在Python的Flask框架中验证注册用户的Email的方法
Sep 02 Python
Python 爬虫模拟登陆知乎
Sep 23 Python
Python实现全排列的打印
Aug 18 Python
Python设计模式之观察者模式原理与用法详解
Jan 16 Python
Python 获取numpy.array索引值的实例
Dec 06 Python
Python3实现飞机大战游戏
Apr 24 Python
python 图像判断,清晰度(明暗),彩色与黑白实例
Jun 04 Python
python和php哪个容易学
Jun 19 Python
python爬虫数据保存到mongoDB的实例方法
Jul 28 Python
Python urllib3软件包的使用说明
Nov 18 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开发微信支付的流程
2015/10/04 PHP
jquery中实现标签切换效果的代码
2011/03/01 Javascript
suggestion开发小结以及对键盘事件的总结(针对中文输入法状态)
2011/12/20 Javascript
javascript动态加载实现方法一
2012/08/22 Javascript
javascript页面动态显示时间变化示例代码
2013/12/18 Javascript
javascript 10进制和62进制的相互转换
2014/07/31 Javascript
原生js实现复制对象、扩展对象 类似jquery中的extend()方法
2014/08/30 Javascript
JQuery中绑定事件(bind())和移除事件(unbind())
2015/02/27 Javascript
js仿黑客帝国字母掉落效果代码分享
2020/11/08 Javascript
关于Node.js中Buffer的一些你可能不知道的用法
2017/03/28 Javascript
ES6新增的math,Number方法
2017/08/06 Javascript
angularjs实现分页和搜索功能
2018/01/03 Javascript
原生javascript AJAX 三级联动的实现代码
2018/05/04 Javascript
vue 项目接口管理的实现
2019/01/17 Javascript
js全屏事件fullscreenchange 实现全屏、退出全屏操作
2019/09/17 Javascript
ant design实现圈选功能
2019/12/17 Javascript
JS实现秒杀倒计时特效
2020/01/02 Javascript
[02:36]DOTA2英雄基础教程 帕格纳
2014/01/20 DOTA
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
Python2.7简单连接与操作MySQL的方法
2016/04/27 Python
python使用ddt过程中遇到的问题及解决方案【推荐】
2018/10/29 Python
Python udp网络程序实现发送、接收数据功能示例
2019/12/09 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
浅谈python多线程和多线程变量共享问题介绍
2020/04/17 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
Python 实现简单的客户端认证
2020/07/29 Python
python实现邮件循环自动发件功能
2020/09/11 Python
python实现简单贪吃蛇游戏
2020/09/29 Python
PUMA官方商城:世界领先的运动品牌之一
2016/11/16 全球购物
法国珠宝店:CLEOR
2017/01/29 全球购物
阿迪达斯印尼官方网站:adidas印尼
2020/02/10 全球购物
个人实用简单的自我评价
2013/10/19 职场文书
党委书记岗位职责
2013/11/24 职场文书
2014年销售工作总结与计划
2014/12/01 职场文书
Java字符串逆序方法详情
2022/03/21 Java/Android
关于EntityWrapper的in用法
2022/03/22 Java/Android