Python对文件的操作(转)
一、文件对象
我理解的文件对象就是一个接口,通过这个接口对文件进行相关操作。
《Python 核心编程》上说的很晦涩,这里没有深刻理解到,希望有人能解释给我听。
>>> f = open('demo.txt','r') >>> f <open file 'demo.txt', mode 'r' at 0x00CCCEC0> >>> type(f) <type 'file'>
二、相关函数
[1]、内建函数:open()
提供了初始化输入/输出(I/O)操作的通用接口,成功打开一个文件后会返回一个文件对象,否则发生IOError异常。语法如下:
file_object = open(file_name,access_mode = 'r',buffering = -1)
分析如下:
1):file_name:表示要打开文件名字的字符串,可以是相对路径也可以是绝对路径。
如:我在D盘新建一个空白名为out的文本文件,然后进行相关操作。
>>> f = open('../out.txt','w') >>> f.write('good') >>> f.close()
则打开该文件后,发现'good'已经写入进去了。
接下来使用绝对路径进行访问,如下:
>>> f = open('D:/out.txt','r') >>> f.read() 'good' >>> f.close()
2、可选变量access_mode也是字符串,代表文件打开模式。
注意:
1):使用'r'或'U'模式打开的文件必须已经存在
2):'w'模式打开的文件若存在则先清空,然后重新创建
3):'a'模式打开的文件是为了追加数据做准备的,所有写入的数据将追加到文件末尾。如果文件不存在,则自动被创建。
4):'+'代表可读可写
5):'b'代表二进制模式访问
6):默认情况下是 'r'
3、buffering可选参数,用于指示访问文件所采用的缓存方式。0表示不缓存;1表示只缓存一行,n代表缓存n行。如果不提供或为负数,则代表使用系统默认的缓存机制。
用处?这个麻烦有人能告诉我!
关闭文件:
打开文件消耗系统资源, 并且依赖于文件模式, 其它程序或许不能访问它们。这就是一旦操作完毕就该关闭文件的重要所在。
接上面的操作,加入还没有关闭:
>>> f.closed #判断是否关闭 False >>> f.close() #关闭方法 >>> f.closed True >>> f.tell() #如果已关闭,则一切针对文件操作都无效Traceback (most recent call last):File "<pyshell#27>", line 1, in <module>f.tell() ValueError: I/O operation on closed file >>>
[2]、工厂函数file()
与open()一样,可相互替换
>>> f = file('../out.txt','r') >>> f.read() 'good' >>> f.close()
三、相关方法
返回一个文件对象后(句柄),其实我也不清楚到底什么是句柄,这里摘自百度百科:
句柄,是整个windows编程的基础。一个句柄是指使用的一个唯一的整数值,即一个四字节长的数值,来标志应用程序中的不同对象和同类对象中的不同的实 例,诸如,一个窗口,按钮,图标,滚动条,输出设备,控件或者文件等。应用程序能够通过句柄访问相应的对象的信息,但是句柄不是一个指针,程序不能利用句柄来直接阅读文件中的信息。如果句柄不用在I/O文件中,它是毫无用处的。 句柄是windows用来标志应用程序中建立的或是使用的唯一整数,windows使用了大量的句柄来标志很多对象。
一般与文件相关的方法无非是:输入、输出、文件内移动、杂项
[1]、输入
1、read():读取字节到字符串中,有可选参数size,默认是-1,如果为-1或复数则文件将会被读取到文件末尾。
>>> f.read() 'good' >>> f.read(2) 'go'
2、readline():读取文件的一行,包括行结束符。同read()也有个可选参数size。
3、readlines():读取所有(剩余的)然后将它们作为字符串列表返回,它有个可选参数sizhint代表返回的最大字大小。
>>> f = file('../out.txt','r') >>> f.readlines() ['good']
[2]、输出
1、write():把含有文本数据或二进制数据块的字符串写入到文件中去。
2、writelines():针对列表操作,接受一个字符串列表作为参数,将它们写入文件,行结束符并不会被自动加入,如果需要的话必须在调用writelines方法前给每一行结尾加上结束符。
>>> f = open('d:/out.txt','w') >>> f.writelines(['man']) >>> f.close() >>> f = open('d:/out.txt','r') >>> f.read() 'man'
【注意:】
当使用read()或者readlines()从文件中读取行时,Python并不会删除行结束符,这个操作留给了程序员。
>>> f.readlines() ['game is your life,game is your life,game is your life,game is your life,game is your life,[*]\n', 'game is your life,game is your life,game is your life[]']--------------------------- >>> f = open('demo.txt','r') >>> data = [line.strip() for line in f.readlines()] >>> data ['game is your life,game is your life,game is your life,game is your life,game is your life,[*]', 'game is your life,game is your life,game is your life[]']
类似的,write()和writelines()也不会自动加入行结束符,应该自己添加。
>>> f = open('demo.txt','w') >>> f.writelines([' my name is BeginMan\n,I like coding']) >>> f.close()
打开该文件可查看:
[3]、文件内移动
tell()、seek()方法
f = open('d:/out.txt','rb') print f.tell() #[1] f.seek(10,1) #[2] print f.tell() #10 print f.read(10) # BeginMan, print f.read(18) #I like coding. print f.tell() #38""" 【1】:tell(): tell 方法确认了已经移到当前文件位置 一个文件对象维护它所打开文件的状态。文件对象的 tell 方法告诉你在打开文件中的当前位置。 因为我们还没有对这个文件做任何事,当前位置为 0,它是文件的开始处。 """ """ 【2】:seek(): 文件对象的 seek 方法在打开文件中移动到另一个位置。第二个参数指出第一个参数是什么意思: 0 表示移动到一个绝对位置 (从文件开始算起), 1 表示移到一个相对位置 (从当前位置算起), 还有 2 表示文件末尾 """
[4]、文件迭代
>>> f = open('d:/out.txt','rb') >>> for eachline in f:eachline'my name is BeginMan,\r\n' 'I like coding.\r\n'
四、相关属性
file.closed:文件已被关闭,否则为False
file.mode:文件访问模式
file.name:文件名称
>>> f.mode 'r' >>> f.name 'demo.txt'
FROM:http://www.cnblogs.com/BeginMan/p/3166644.html
转载于:https://www.cnblogs.com/rusking/p/5119796.html
Python对文件的操作(转)相关推荐
- python36_第36 p,就这几个方法,Python中文件的操作
大家好,我是杨数Tos,这是<从零基础到大神>系列课程的第X篇文章,第二阶段的课程:Python基础知识:Python中文件的操作(下篇). 学习本课程,建议先看一遍:[计算机基础知识]课 ...
- python对文件的操作都有什么_python中文件操作的相关内容总结(附示例)
本篇文章给大家带来的内容是关于python中文件操作的相关内容总结(附示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1. 文件操作介绍 说到操作文件我们肯定会想到流,文件的操 ...
- Day6 python对文件的操作——百度飞桨领航团零基础Python入门
python文件操作 前言 一.JSON是什么? 二.python对文件的操作 1.写入文件内容 2.打开.读取.关闭文件 文件数据若有问题采用两种解决方式 file对象的函数列表 写入文件内容 对象 ...
- python怎么读write_Python如何读写文件?python写入文件读写操作详解
Python文件的打开或创建可以使用函数open().该函数可以指定处理模式,设置打开的文件为只读.只写或可读写状态.open()的声明如下所示. open(file, mode='r', buffe ...
- python对文件的操作模式_python对文件的操作
一.python中对文件.文件夹操作时经常用到的os模块和shutil模块常用方法. 1.得到当前工作目录,即当前Python脚本工作的目录路径: os.getcwd() 2.返回指定目录下的所有文件 ...
- python基础------文件读写操作、re、os和sys模块
1. 文件读取 1.1 file文件 file文件读取:只能写入字符串,如果要写入字符串以外的数据,先将他转换为字符串,文件内的数据不容易操作 #文件打开 file.open() #文件关闭 file ...
- Python中文件的操作
1.文件的基本操作 文件打开的格式: file = open(文件路径,读写模式) 文件路径:可以写相对路径,也可以写绝对路径 读写模式:r(读取) w(写入) a(追加) 文件打开后,必须关闭,否则 ...
- python对文件读写操作
不知道大家是否跟我一样,总是分不清楚python里面对于读写操作,今天给自己重新总结一下. w+ 可以同时读写,如果文件不存在,则新建文件,写入时是清空之前的内容. a+可以同时读写,如果文件不存在, ...
- python对文件的操作(一)序列化和反序列化
1.文件操作 1.1 文件操作的流程 1.打开文件,得到文件句柄并赋值给变量. 2.通过句柄对文件进行操作. 3.关闭文件 1.2 从文件中读取数据 要使用文件中的信息,首先需要将信息读取到内存中,为 ...
- python简述文件的操作步骤_Python文件读取操作的详细介绍
本篇文章给大家带来的内容是关于Python文件读取操作的详细介绍,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 读取文件的操作步骤 有一道脑筋急转弯,问把大象装进冰箱的步骤,答案很简 ...
最新文章
- python基础类型
- Shell 与Python的交互
- list 索引 java_如何在Java中保持List索引的固定
- opencv中查看mat位图的像素幅度(Cv::matStep)
- python闭包的应用场景_简单谈谈Python中的闭包
- embedding亦福亦祸?XGBoost与LightGBM的新机遇
- python访问数据库如何解决高并发_使用 Python 和 Oracle 数据库实现高并发性
- 语音转文字的软件APP
- SQL Server报表生成器中的R脚本词云
- 配置druid的过程以及问题
- 十八、Oracle学习笔记:PLSQL操作(含游标的操作)
- abb机器人goto指令用法_ABB机器人程序指令解读,建议收藏
- 安卓手机怎么root_手机怎么root
- 74cms前台getshell漏洞
- php中ne,eq相等 ne、neq不相等, gt大于, lt小于
- iPad游戏突然没有声音问题
- 期刊论文发表的重复率要求
- 批量打印--不展现直接后台打印
- Linux字符设备驱动模型
- MOS管选型注重的参数及使用注意事项-KIA MOS管
热门文章
- Web UI 自动化测试环境搭建 (转载自51测试天地第三十九期上)
- 混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集...
- %hd %d %ld %u ......
- LTTng 简介使用实战
- 虚拟化安全防护系统部署在安全服务器上,虚拟化安全防护-安天 智者安天下
- 循环的时候去删除集合中的元素 java.util.ConcurrentModificationException
- 数据库系备份相关知识笔记
- 计算机网络必备知识,非常全面!
- nginx+asp.net mvc的配置
- 防止表单重复提交的解决方案整理