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 代码效率的方法
Jul 03 Python
Python3基础之输入和输出实例分析
Aug 18 Python
python简单实现基数排序算法
May 16 Python
Python正确重载运算符的方法示例详解
Aug 27 Python
numpy自动生成数组详解
Dec 15 Python
python 实现判断ip连通性的方法总结
Apr 22 Python
Python模拟浏览器上传文件脚本的方法(Multipart/form-data格式)
Oct 22 Python
详解Python读取yaml文件多层菜单
Mar 23 Python
Python 内置变量和函数的查看及说明介绍
Dec 25 Python
python Shapely使用指南详解
Feb 18 Python
Python3 filecmp模块测试比较文件原理解析
Mar 23 Python
Python3爬虫中关于Ajax分析方法的总结
Jul 10 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仿discuz分页效果代码
2008/10/02 PHP
kohana框架上传文件验证规则写法示例
2014/07/14 PHP
实例介绍PHP删除数组中的重复元素
2019/03/03 PHP
一个加密JavaScript的开源工具PACKER2.0.2
2006/11/04 Javascript
js DOM的学习笔记
2011/12/22 Javascript
如何使用json在前后台进行数据传输实例介绍
2013/04/11 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
JS画5角星方法介绍
2013/09/17 Javascript
DOM基础教程之使用DOM
2015/01/19 Javascript
js实现checkbox全选、不选与反选的方法
2015/02/09 Javascript
JS实现鼠标框选效果完整实例
2016/06/20 Javascript
微信js-sdk分享功能接口常用逻辑封装示例
2016/10/13 Javascript
解析javascript图片懒加载与预加载的分析总结
2016/10/27 Javascript
JS调用Android、Ios原生控件
2017/01/06 Javascript
JS实现简单短信验证码界面
2017/08/07 Javascript
解决layer.open弹出框不能获取input框的值为空的问题
2019/09/10 Javascript
vue+AI智能机器人回复功能实现
2020/07/16 Javascript
python自动zip压缩目录的方法
2015/06/28 Python
Python3使用requests登录人人影视网站的方法
2016/05/11 Python
python3+PyQt5实现使用剪贴板做复制与粘帖示例
2017/01/24 Python
Python安装官方whl包和tar.gz包的方法(推荐)
2017/06/04 Python
pycharm的python_stubs问题
2020/04/08 Python
Keras保存模型并载入模型继续训练的实现
2021/02/20 Python
Html5插件教程之添加浏览器放大镜效果的商品橱窗
2016/01/07 HTML / CSS
HTML5 Web缓存和运用程序缓存(cookie,session)
2018/01/11 HTML / CSS
马来西亚综合购物网站:Lazada马来西亚
2018/06/05 全球购物
澳大利亚家具商店:Freedom
2020/12/17 全球购物
vue路由实现登录拦截
2021/03/24 Vue.js
物理教师自荐信范文
2013/12/28 职场文书
公司端午节活动方案
2014/02/04 职场文书
大学生预备党员自我评价
2015/03/04 职场文书
母亲去世追悼词
2015/06/23 职场文书
大学副班长竞选稿
2015/11/21 职场文书
vue使用节流函数的踩坑实例指南
2021/05/20 Vue.js
Mybatis是这样防止sql注入的
2021/12/06 Java/Android
MySQL中JOIN连接的基本用法实例
2022/06/05 MySQL