Python文件操作汇总

python2.7

1. 文件的打开(内建函数)  open(file_path,mode=‘r’,buffering=-1)

<1> file_path是必须给出的参数,是要读取文件的绝对或者相对路径,要包含文件后缀.

绝对路径的3种表示方法:>>> file_path = "C:/tmp/123.txt"       >>> file_path = "C:\\tmp\\123.txt"   >>> file_path =r "C:\tmp\123.txt"

相对路径的两种表示方法: ./表示当前文件夹  ../表示父文件夹

文件路径就是一个字符串,所以应该特别注意字符串中包含反斜杠的时候应该如何正确表示。‘\\’真正表示的是‘\’,  修饰符‘r’表示python中的原生字符。

<2>mode 指出了文件的打开方式,具体打开方式有哪些,这里不再累赘。

<3>buffering 参数指出读取文件的时候有关缓冲的选项

buffering = 0 表示不适用缓冲      
buffering = 1 缓存一行
buffering = 其他正整数N 缓存N个字节
buffering = 负数 使用系统默认,根据不同的系统而定

<4>open()函数的返回值是一个file object, 我的理解是一个指向文件在内存中的首地址。

2. 文件的关闭(内建函数)close()

为了安全,以及规范,打开文件使用完成后,务必使用close()将文件关闭。

>>> data_file = "E:/tmp/data.txt"

>>> f = open(data_file,‘rt‘)

>>>这里是文件对象的具体操作

>>>f.close()

3. 文件的读操作

open()函数返回一个file objec,这里介绍的操作就是文件对象相关的操作

<1>file.next()

返回file指针位置到最近的一个换行符‘\n’之间的字符(包含file所指的字符以及换行字符)。file所指的位置,没有限制必须为某一行的开始位置。

<2>file.read([size])

最多读取从file所指位置开始的size个字节,意思就是说,如果没有读取够size个字节的数据的的情况下,已经碰到文件结束符EOF了,那么会结束

读取,返回当前所读取到的内容。

*这里有一个小问题,就是用next()方法后,如果使用read(size)会弹错,目前还不知道什么原因。

<3>file.readline([size])

size参数缺省的情况下,返回一整行的数据;

size参数给出的情况下,返回file所在行内,从file开始至多size个字节的数据,即实际返回数据大小 = min{该行file之后的数据大小,size}

<4>file.readlines([size])

size缺省的情况下,读取文件的所有行,并且存放于一个列表对象中。

4. 文件写操作

在进行文件写操作前,请确保文件打开方式,是以可写的方式打开的。

<1>file.write(str)

将目标字符串str写入到文件中,需要时注意的是:由于缓存机制,在文件关闭前,str内容未必真的写入到了文件中. 所以,切记文件的close()操作。

<2>file.writelines(sequence)

将可迭代对象sequence中的内容,依次写入到文件中。经常和readlines()配合使用。

5. 文件指针

<1>file.tell()   返回文件指针的当前位置

<2>file.seek(offset[,whence])    offset:偏移量; whence:相对位置

whence offset
0 (文件的开头) >=0 的整数,如果是负数会报错                                               
1(文件指针当前位置) 如果越界,会报错
2(文件末尾)
一般用负数(使用正数竟然不会报错,不知道为什么)

mode参数,缺省情况下是"只读"方式

时间: 2024-10-17 03:32:56

Python文件操作汇总的相关文章

Python文件操作及seek偏移详解

本文和大家分享的主要是python中文件操作及seek偏移相关内容,一起来看看吧,希望对大家学习python有所帮助. 一.Python文件操作中的编码 本次测试是基于Python 2.7.12  OS:Ubuntu 16.04  pycharm环境,以及Win7下2.7.12; 首先说下汉字在文件中占用的字节数,这个先看以下实验(Win7)下 因为Linux下不支持gbk,本文不讲utf-8 ,gbk编码具体知识.本次实验只讲解python在使用utf-8和gbk编码时,对汉字占用的字节有所不

python 文件操作seek() 和 telll() 自我解释

python 文件操作seek() 和 telll()  自我解释 file.seek()方法格式: seek(offset,whence=0)   移动文件读取指针到制定位置 offset:开始的偏移量,也就是代表需要移动偏移的字节数. whence: 给offset参数一个定义,表示要从哪个位置开始偏移:0代表从文件开头算起,1代表开始从当前位置开始算起,2代表从文件末尾开始算起.当有换行时,会被换行截断.                        seek()无返回值,故值为None

关于python 文件操作os.fdopen(), os.close(), tempfile.mkstemp()

嗯.最近在弄的东西也跟这个有关系,由于c基础渣渣.现在基本上都忘记得差不多的情况下,是需要花点功夫才能弄明白. 每个语言都有相关的文件操作. 今天在flask 的例子里看到这样一句话.拉开了文件操作折腾的序幕 db_fd, flaskr.app.config['DATABASE'] = tempfile.mkstemp() 稍微查询一下就能了解到 tempfile是一个临时文件模块. 包含了一些临时文件的操作 tempfile.mkstemp() 在很老很老的python版本的时候,第一个参数是

Python基础篇【第2篇】: Python文件操作

Python文件操作 在Python中一个文件,就是一个操作对象,通过不同属性即可对文件进行各种操作.Python中提供了许多的内置函数和方法能够对文件进行基本操作. Python对文件的操作概括来说:1. 打开文件 2.操作文件 3.关闭文件 1. 打开文件.关闭文件 Python中使用open函数打开一个文件,创建一个file操作对象. open()方法 语法: file object = open(file_name [, access_mode][, buffering]) 各个参数的细

Python文件操作与函数目录

文件操作 python文件操作 函数 Python函数学习——初步认识 Python函数学习——作用域与嵌套函数 Python函数学习——匿名函数 python内置函数 Python函数学习——递归 Python函数——命名空间与闭包 Python函数——闭包延迟绑定 Python函数——装饰器 Python函数-列表推导式.生成器与迭代器 练习题 Python文件与函数练习题 案例 python函数练习——个人信息修改 Python函数案例——员工信息管理 原文地址:https://www.c

第六章、Python文件操作

第六章.Python文件操作 Python可以对文件进行查看.创建等功能,可以对文件内容进行添加.修改.删除,且所使用到的函数在Python3.5.x为open,在Python2.7.x同时支持file和open,但是在3.5.x系列移除了file函数. 一.Python文件打开方式 文件句柄 = open('文件路径','打开模式') Nginx_Conf = open('nginx.conf','r',encoding='utf-8') Ps:文件句柄相当于于变量名,文件路径可以写为绝对路径

Lesson 024 —— python 文件操作

Lesson 024 -- python 文件操作 open() 方法 Python open() 方法用于打开一个文件,并返回文件对象,在对文件进行处理过程都需要使用到这个函数,如果该文件无法被打开,会抛出 OSError. 注意:使用 open() 方法一定要保证关闭文件对象,即调用 close() 方法. open() 函数常用形式是接收两个参数:文件名(file)和模式(mode). open(file, mode='r') 完整的语法格式为: open(file, mode='r',

3 Python文件操作

Python文件操作 open 以什么编码方式存储文件,就以什么编码方式打开 f = open('d:\模特主妇护士班主任.txt',encoding='utf-8') # 绝对路径打开 f.close() f = open('模特主妇护士班主任',encoding='utf-8') # 相对路径打开 f.close() with open('log',encoding='utf-8') as f: # 此方法常用 不用进行close 读 read # r 以str的方式读出 f = open(

Python 文件操作Error: binary mode doesn&#39;t take an encoding argument

Python 报错:ValueError: binary mode doesn't take an encoding argument 在运行文件操作相关功能时报错:ValueError: binary mode doesn't take an encoding argument 上代码: >>> with open("course_info","rb+",encoding="utf-8")as f: #rb+操作时不支持指定e