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转码问题的解决方法
Oct 07 Python
Python实现的数据结构与算法之基本搜索详解
Apr 22 Python
python函数的5种参数详解
Feb 24 Python
浅析Python中的赋值和深浅拷贝
Aug 15 Python
python操作列表的函数使用代码详解
Dec 28 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
Feb 10 Python
Python OpenCV获取视频的方法
Feb 28 Python
Python登录注册验证功能实现
Jun 18 Python
python scatter函数用法实例详解
Feb 11 Python
python math模块的基本使用教程
Jan 16 Python
Python多线程实用方法以及共享变量资源竞争问题
Apr 12 Python
Python开发五子棋小游戏
Apr 28 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/04/08 PHP
使用PHP生成图片的缩略图的方法
2015/08/18 PHP
PHP在线打包下载功能示例
2016/10/15 PHP
Maps Javascript
2007/01/22 Javascript
Javascript 兼容firefox的一些问题
2009/05/21 Javascript
JS 判断undefined的实现代码
2009/11/26 Javascript
JavaScript基础教程之alert弹出提示框实例
2014/10/16 Javascript
在JavaScript中处理字符串之link()方法的使用
2015/06/08 Javascript
14 个折磨人的 JavaScript 面试题
2016/08/08 Javascript
原生javascript实现的ajax异步封装功能示例
2016/11/03 Javascript
浅析javascript中的Event事件
2016/12/09 Javascript
JavaScript 总结几个提高性能知识点(推荐)
2017/02/20 Javascript
AngularJS表单验证功能分析
2017/05/26 Javascript
AngularJS service之select下拉菜单效果
2017/07/28 Javascript
node.js支持多用户web终端实现及安全方案
2017/11/29 Javascript
mui back 返回刷新页面的实例
2017/12/06 Javascript
AngularJS实现与后台服务器进行交互的示例讲解
2018/08/13 Javascript
angular4笔记系列之内置指令小结
2018/11/09 Javascript
在vue中使用echars实现上浮与下钻效果
2019/11/08 Javascript
vue组件创建的三种方式小结
2020/02/03 Javascript
详解ES6 扩展运算符的使用与注意事项
2020/11/12 Javascript
python数据结构之二叉树的统计与转换实例
2014/04/29 Python
python如何查看系统网络流量的信息
2016/09/12 Python
python使用json序列化datetime类型实例解析
2018/02/11 Python
详解Python 协程的详细用法使用和例子
2018/06/15 Python
python用fsolve、leastsq对非线性方程组求解
2018/12/15 Python
Python单元和文档测试实例详解
2019/04/11 Python
Python pandas DataFrame操作的实现代码
2019/06/21 Python
python通过TimedRotatingFileHandler按时间切割日志
2019/07/17 Python
使用Python操作MySQL的小技巧
2020/09/10 Python
PyCharm2020.3.2安装超详细教程
2021/02/08 Python
HTML5 常用语法一览(列举不支持的属性)
2010/01/26 HTML / CSS
创立科技Java面试题
2015/11/29 面试题
工程款申请报告
2015/05/15 职场文书
MySQL 外连接语法之 OUTER JOIN
2022/04/09 MySQL
Win Server2016远程桌面如何允许多用户同时登录
2022/06/10 Servers