zoukankan      html  css  js  c++  java
  • Python学习笔记六:文件处理

    一:打开文件

    open(name,mode,[bufferSize])

    name:文件路径

    mode:文件打开方式

    二:文件读取

    read()方法:可以一次读取文件的全部内容,Python把内容读到内存,用一个str对象表示。

    readline([size]):如果不传参,一次默认读取一行。如果size<一行长度,则读取size个字节。如果size>一行长度,则只读取一行。

    readlines():一次读取io.DEFAULT_BUFFER_SIZE行,约586行,以字符串数组的形式返回读取结果。

    迭代读取:可以使用iter(file)函数把打开的文件转换为可迭代对象,然后有for...in 迭代访问,每次迭代读取一行。

    file=open("filename.txt",'r+')
    iter_f=iter(file)
    for str in iter_f:
        使用str

    三:文件写入

    write(str):把str写入文件。注意:必须是写字符串。如果写其他内容,请转换为字符串再写入。

    writelines(some_str):参数可以是字符串元组、或者可迭代的字符串对象

    写缓存与写磁盘:

    在调用了write(str)/writelines(some_str)后,只是把写的内容写入到了内存中,此时还没有更新到文件。

    需要显式 f.flush()或f.close()强制把内存中的缓存数据刷入磁盘才可以把数据写入磁盘中。

    当写入缓存中的数据大于缓冲区容量时,Python解释器会自动刷新缓冲区把数据写入磁盘,缓冲区大小为155648字节

    四:文件指针与随机读写

    在Python中,写入数据后不能立即读取,必须关闭文件重写打开才可以;并且读取过的内容,不能再次读取到。这是因为文件指针移动的原因:文件打开时,文件指针指向文件开头,此时执行read/write操作会移动文件指针,进行读写。一次读写完成后,指针会停留在该次操作的结束处。下一次调用读写时,会接着上次停止的地方继续移动文件指针进行读写。

    随机读写的实现:了解了文件指针的移动原理后,我们就可以自己控制指针的移动,去读写文件中我们想要操作的位置了。

    文件指针移动指令:file.seek(偏移量,起点位置)

    起点位置有三种:os.SEEK_SET(文件开头)、os.SEEK_END(文件结尾)、os.SEEK_CUR(文件指针当前位置)

    偏移量:可以是正数,也可以是负数。正数下移,负数前移。如果移动范围超过文件范围则报错。

    五:文件关闭

    f.close()

    文件操作完毕要关闭的原因:

    1:强制把写入文件的数据刷入磁盘

    2:系统中允许每个进程同时打开的文件数是有限的

  • 相关阅读:
    PHP实现最简单爬虫原型
    xcache 安装与配置
    fckeditor[php]上传文章内容图片插件[提供技术支持]
    使用PHP创建一个REST API(Create a REST API with PHP)
    php错误处理
    PHP二维数组排序
    鼠标指针经过时整行变色的表格
    java net unicode / native2ascii / url decode / url encode / UTF8 / js url code
    java protocol / patent
    framework junit
  • 原文地址:https://www.cnblogs.com/ygj0930/p/6904597.html
Copyright © 2011-2022 走看看