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实现将pvr格式转换成pvr.ccz的方法
Apr 28 Python
Python数据结构与算法之图的最短路径(Dijkstra算法)完整实例
Dec 12 Python
pandas 小数位数 精度的处理方法
Jun 09 Python
python 列表,数组和矩阵sum的用法及区别介绍
Jun 28 Python
使用EduBlock轻松学习Python编程
Oct 08 Python
Python中变量的输入输出实例代码详解
Jul 28 Python
Jupyter加载文件的实现方法
Apr 14 Python
Python中的wordcloud库安装问题及解决方法
May 27 Python
Python如何输出整数
Jun 07 Python
如何使用python socket模块实现简单的文件下载
Sep 04 Python
python 怎样进行内存管理
Nov 10 Python
如何利用Python matplotlib绘制雷达图
Dec 21 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
深入探讨:Nginx 502 Bad Gateway错误的解决方法
2013/06/03 PHP
深入PHP与浏览器缓存的分析
2013/06/03 PHP
destoon安装出现Internal Server Error的解决方法
2014/06/21 PHP
php源码分析之DZX1.5随机数函数random用法
2015/06/17 PHP
浅谈PHP中如何实现Hook机制
2017/11/14 PHP
最新28个很棒的jQuery 教程
2011/05/28 Javascript
js制作的鼠标悬浮时产生的下拉框效果
2012/10/27 Javascript
javascript当中的代码嗅探扩展原生对象和原型(prototype)
2013/01/11 Javascript
JS判断数组中是否有重复值得三种实用方法
2013/08/16 Javascript
鼠标移到导航当前位置的LI变色处于选中状态
2013/08/23 Javascript
window.showModalDialog()返回值的学习心得总结
2014/01/07 Javascript
js点击出现悬浮窗效果不使用JQuery插件
2014/01/20 Javascript
this,this,再次讨论javascript中的this,超全面(经典)
2016/01/05 Javascript
谈一谈jQuery核心架构设计
2016/03/28 Javascript
原生JS实现匀速图片轮播动画
2016/10/18 Javascript
js Canvas绘制圆形时钟教程
2017/02/06 Javascript
vue.js 使用v-if v-else发现没有执行解决办法
2017/05/15 Javascript
JS代码屏蔽F12,右键,粘贴,复制,剪切,选中,操作实例
2019/09/17 Javascript
[01:14:55]EG vs Spirit Supermajor 败者组 BO3 第三场 6.4
2018/06/05 DOTA
有关wxpython pyqt内存占用问题分析
2014/06/09 Python
Python使用MySQLdb for Python操作数据库教程
2014/10/11 Python
Python机器学习之SVM支持向量机
2017/12/27 Python
TensorFlow实现RNN循环神经网络
2018/02/28 Python
Python机器学习k-近邻算法(K Nearest Neighbor)实例详解
2018/06/25 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
Flask 上传自定义头像的实例详解
2020/01/09 Python
python3中使用__slots__限定实例属性操作分析
2020/02/14 Python
Python requests接口测试实现代码
2020/09/08 Python
使用AJAX和Django获取数据的方法实例
2020/10/25 Python
Django中日期时间型字段进行年月日时分秒分组统计
2020/11/27 Python
Python爬虫模拟登陆哔哩哔哩(bilibili)并突破点选验证码功能
2020/12/21 Python
办理退休介绍信
2014/01/09 职场文书
“四风”问题的主要表现和危害思想汇报
2014/09/19 职场文书
2014年幼儿园园务工作总结
2014/12/05 职场文书
P站美图推荐——变身女主角特辑
2022/03/20 日漫
Python利用capstone实现反汇编
2022/04/06 Python