您的位置:首页 > 编程语言 > Python开发

python基础之文件读写

2018-02-26 20:02 225 查看

python文件读写

python程序的输入主要有两种,一种是通过命令行输入,另一种是通过文件进行输入。在大规模参数情况下,第二种方式输入相比于第一种显得方便而易行。因此,本文主要记录下如何对文件进行读写操作。

常见文件操作函数

首先,介绍一下文件打开函数
open(filename[,mode[,buffering]])


参数:

filename,文件名,类型为
str
,由文件的
存储路径
名字
组成

mode,文件的操作模式,类型为
str
,表征,即读还是写,以文本形式还是以二进制形式。常见的符号为
r
w
+
a
b


buffering,缓冲区使用与否,类型为
numberical
0
表示无缓冲,
1
表示有缓冲,
-1
使用默认缓冲区大小,
>1
设置缓冲区大小。

功能:打开一个文件

返回值:一个文件操作对象

然后,介绍一下文件对象的常用方法:

关闭,
close()


读取

字节,
read(bytes)


行,
readline()
readlines()


写,
write(list)
writelines(seq)
,文本模式下,换行会自动依据系统进行替换。

文件指针操作
seek(bytes)
tell()


更详细的介绍,可以参考这里IO描述

遍历文件的几种方式

1.全部读取。

#打开文件
fd = open('test.txt','r')
#一次性读取完文件
lines = fd.readlines()
#对输入文件进行处理
for line in lines:
process(line)
#关闭文件
fd.close()


2.逐行读取

#打开文件
fd = open('test.txt','r')
#对输入文件进行处理
while(true):
line = fd.readline()
if(line):
process(line)
else:
break;
#关闭文件
fd.close()


3.迭代器+异常处理机制

with open('test.txt','r') as fd:
for line in fd:
process(line)


总结

方法1,一次性读取,在读入文件不是很大的情况下能够行的通,一旦文件过大,会对内存进行损伤。

方法2,逐行读取,避免了一次性读入的劣势,没有加入异常的处理机制,代码显得过于冗长。

方法3,逐行读取,并加入了
with...as...
上下管理文机制,不管是否发生异常,文件总能关闭,代码简单,为最佳读取代码的格式。

参考

《Python基础教程》

《Python学习手册》
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: