分享

Python文件读写

 昵称QAb6ICvc 2013-01-25

Python文件读写

-

一、打开文件 f = open(file, mode) 参数说明: file:文件名称 mode:打开模式 'r':只读(缺省,如果文件不存在,则抛出错误) 'w':只写(如果文件不存在,则自动创建文件) 'a':文件追加 'r w':读写(删除以前的所有数据) 'r a':追加读写(添加到当前内容尾部)如果需要以二进制方式打开文件,需要在mode后面加上字符'b',如:'rb','wb','ab','rb '。二、读文件 f.read(size) size:读取的数量,可以省略。如果省略size参数,则读取文件的所以内容。 f.readline() 读取文件一行的内容 f.readlines() 读取所有的行到数组里面[line1,line2,...lineN]。在避免将所有文件内容加载到内存中,这种方法常常使用,提供效率。三、写文件 f.write(string) 将一个字符串写入文件,再f.close()关闭文件。

f.writelines(string) 一次写入多行

调用writelines写入多行在性能上会比使用write一次性写入要高。 

四、文件内容定位 f.read()读取后,文件指针到达文件的末尾,如果再来一次f.read()将读取的是空内容,想要再一次读取到全部的内容,必须将定位指针移动到文件的开始。如:f.seek(0) 函数格式:(单位为bytes) f.seek(offset, from_what) offset:开始的偏移量 from_what参数表示offset参数的意义。 0:表示从文件起始位算起(绝对位置) 1:表示从当前位置算起(相对位置) 2:表示从文件尾开始算起 f.tell():确认了当前位置已经移动了。例子: #!/usr/bin/python #simple.py f = open("d:\\tmp\\20070115080808.txt", "r ") f.write('I am chinese') f.seek(6) print f.read(1) # c f.seek(-3, 2)
print f.read(1) # e 五、关闭文件释放资源文件操作完毕,一定要释放资源。

六、File

file在python是一个特殊的类型,它用于在python程序中对外部的文件进行操作。在python中一切都是对象,file也不例外,file有file的方法和属性。下面先来看如何创建一个file对象: * file(name[, mode[, buffering]]) file()函数用于创建一个file对象,它有一个别名叫open(),可能更形象一些,它们是内置函数。来看看它的参数。它参数都是以字符串的形式传递的。name是文件的名字。
mode 是打开的模式,可选的值为r w a U,分别代表读(默认) 写添加支持各种换行符的模式。用w或a模式打开文件的话,如果文件不存在,那么就自动创建。此外,用w模式打开一个已经存在的文件时,原有文件的内容会被清空,因为一开始文件的操作的标记是在文件的开头的,这时候进行写操作,无疑会把原有的内容给抹掉。由于历史的原因,换行符在不同的系统中有不同模式,比如在 unix中是一个
,而在windows中是‘\r
’,用U模式打开文件,就是支持所有的换行模式,也就说‘\r’ ‘
’ ‘\r
’都可表示换行,会有一个tuple用来存贮这个文件中用到过的换行符。不过,虽说换行有多种模式,读到python中统一用
代替。在模式 字符的后面,还可以加上 b t这两种标识,分别表示可以对文件同时进行读写操作和用二进制模式、文本模式(默认)打开文件。
buffering如果为0表示不进行缓冲;如果为1表示进行“行缓冲“;如果是一个大于1的数表示缓冲区的大小,应该是以字节为单位的。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多