码迷,mamicode.com
首页 > 编程语言 > 详细

python 文件处理 -- 01 文件打开&读取&写入&关闭&指针

时间:2017-11-01 00:04:15      阅读:268      评论:0      收藏:0      [点我收藏+]

标签:限制   写入文件   amp   偏移量   bsp   col   读取文件   1.2   open   

1.文件打开

1.1.文件打开方法

open(name[,mode[,buff]] ->file

        name--文件路径

        mode--打开方式

        buff--缓冲buffer的大小

        file--返回file类型的对象

        重要:必须要写close()方法

1.2文件打开方式

技术分享

另:

        打开二进制文件(如图片)时,需使用如下方式

                ‘rb‘、‘wb‘、‘ab‘、‘rb+‘、‘wb+‘、‘ab+‘

2.文件读取

2.1文件读取方法

read([size])

         读取size个字节,默认 读取全部。

         如果size小于等于文件字节数,则返回size大小的内容,且游标在读取完之后的位置

readline([size])

         读取从当前游标算起的一行。

         如果size小于当前行的字节数,则返回size大小的内容,且游标在读取完之后的位置

readlines([size])

         一次性读取完文件,返回由每一行组成的list

         注意:

                  size其实是无用的,返回的list长度不由它决定,而是由io模块化总的io.DEFAULT_BUFFER_SIZE决定,而且不是size=3就读取3io.DEFAULT_BUFFER_SIZE字节大小的内容

                  实际上不是一次性读取完文件,只是读取io.DEFAULT_BUFFER_SIZE个字节大小(如8192)的内容,然后返回由比8192稍大或相等的字节大小的内容(保证list[-1]是完整一行)所组成的列表。

iter

         使用迭代器按行读取文件(推荐方法

         不受io.DEFAULT_BUFFER_SIZE的限制

>>> f=open("helloworld.py")

>>> iter_f=iter(f)

>>> line=0

>>> for i in iter_f:

...     line+=1

...

>>> line

4

3.文件写入

3.1文件写入方法

         write(str)

                  将字符串写入文件

         writelines(sequence_of_strings)

                  提供一个str或由str组成的迭代器,将每个str相连写入文件中

                  注:必须是有字符串所组成的序列,否则会报错

3.2linux写缓存

         技术分享

4.文件关闭

4.1为什么要关闭文件?

将缓存在内存中的文件写入到磁盘

linux中,每个进程能打开的文件数是有限的,如果超过这个限制,那么打开文件就会失败。

注:

         查看某进程的限制

         cat /proc/${pid}/limits

        技术分享

         linux进程打开文件数限制

                  http://www.cnblogs.com/aka-blog/articles/filemax.html

4.2file.fileno()

文件描述符,用来描述当前文件被打开(未关闭)多少次。

如果超过限制,则会报错IO Error:Too many open files: ‘xx‘

5.文件指针

5.1seek()函数

         移动文件指针

         seek(offset[, whence]) -> None

                  offset--偏移量,可以为负数

                  whence--偏移相对位置。

                           可以使用0,1,2;

                           也可以使用OS模块的宏定义

                                    os.SEEK_SET(文件起始位置0)

                                    os.SEEK_CUR(文件当前位置1)

                                    os.SEEK_END(文件结束位置2)

5.2举例

>>> f=open(‘helloworld.py‘,‘r+‘)

>>> c=f.read()

>>> c

helloword123\nhelloword456\nhelloword789‘

>>> f.seek(0,os.SEEK_SET)

>>> f.write(‘helloppt‘)

>>> f.seek(0,os.SEEK_SET)

>>> c=f.read()

>>> c

hellopptd123\nhelloword456\nhelloword789‘

>>> f.close()

python 文件处理 -- 01 文件打开&读取&写入&关闭&指针

标签:限制   写入文件   amp   偏移量   bsp   col   读取文件   1.2   open   

原文地址:http://www.cnblogs.com/yc913344706/p/7764272.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!