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实现备份文件实例
Sep 16 Python
python统计文本文件内单词数量的方法
May 30 Python
Python OpenCV实现图片上输出中文
Jan 22 Python
python操作mysql代码总结
Jun 01 Python
python傅里叶变换FFT绘制频谱图
Jul 19 Python
Anaconda3+tensorflow2.0.0+PyCharm安装与环境搭建(图文)
Feb 18 Python
Python基于smtplib模块发送邮件代码实例
May 29 Python
python如何写出表白程序
Jun 01 Python
Pytorch 高效使用GPU的操作
Jun 27 Python
pytest fixtures装饰器的使用和如何控制用例的执行顺序
Jan 28 Python
Pycharm制作搞怪弹窗的实现代码
Feb 19 Python
Python实现查询剪贴板自动匹配信息的思路详解
Jul 09 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
关于时间计算的结总
2006/12/06 PHP
php 生成唯一id的几种解决方法
2013/03/08 PHP
PHP实现简单爬虫的方法
2015/07/29 PHP
PHP中的switch语句的用法实例详解
2015/10/21 PHP
谈谈 PHP7新增功能
2015/12/16 PHP
Laravel中的Blade模板引擎示例详解
2017/10/10 PHP
Lumen timezone 时区设置方法(慢了8个小时)
2018/01/20 PHP
HTML IMG标签 onload 内存溢出导致浏览器CPU占用过高
2021/03/09 Javascript
浅析Prototype的模板类 Template
2011/12/07 Javascript
关于js中alert弹出窗口文本换行问题简单详细说明
2012/12/11 Javascript
jquery 操作css样式、位置、尺寸方法汇总
2014/11/28 Javascript
jQuery中$this和$(this)的区别介绍(一看就懂)
2015/07/06 Javascript
js完整倒计时代码分享
2016/09/18 Javascript
js实现hashtable的赋值、取值、遍历操作实例详解
2016/12/25 Javascript
jQuery电话号码验证实例
2017/01/05 Javascript
jQuery动态生成不规则表格(前后端)
2017/02/21 Javascript
vue2.0学习之axios的封装与vuex介绍
2018/05/28 Javascript
Vue实现固定定位图标滑动隐藏效果
2019/05/30 Javascript
vue中created和mounted的区别浅析
2019/08/13 Javascript
js对象数组和对象的使用实例详解
2019/08/27 Javascript
vue实现数据控制视图的原理解析
2020/01/07 Javascript
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
浅谈pycharm下找不到sqlalchemy的问题
2018/12/03 Python
python字符串下标与切片及使用方法
2020/02/13 Python
python实现音乐播放和下载小程序功能
2020/04/26 Python
详解Python3 定义一个跨越多行的字符串的多种方法
2020/09/06 Python
党委书记岗位职责
2013/11/24 职场文书
工程质量月活动方案
2014/02/19 职场文书
室内设计专业自荐信
2014/05/31 职场文书
感恩祖国演讲稿
2014/09/09 职场文书
毕业设计论文评语
2014/12/31 职场文书
2015入党自传书范文
2015/06/26 职场文书
60条职场经典语录,总有一条能触动你的心
2019/08/21 职场文书
创业计划书之甜品店
2019/09/18 职场文书
MongoDB 常用的crud操作语句
2021/06/20 MongoDB
Nginx 路由转发和反向代理location配置实现
2021/11/11 Servers