zoukankan      html  css  js  c++  java
  • python 读写文件

    >>> f2 = open('/tmp/test.txt','r+')

    >>> f2.read()
    'hello girl!'
    >>> f2.write(' hello boy!')
    >>> f2.close()
     
    hello girl!
    hello boy!
     
    可以看到,如果在写之前先读取一下文件,再进行写入,则写入的数据会添加到文件末尾而不会替换掉原先的文件。这是因为指针引起的,r+ 模式的指针默认是在文件的开头,如果直接写入,则会覆盖源文件,通过read() 读取文件后,指针会移到文件的末尾,再写入数据就不会有问题了。这里也可以使用a 模式
     
    当我们写文件时,操作系统往往不会立刻把数据写入磁盘,而是放到内存缓存起来,只有调用close(),操作系统才把缓存数据写入写入磁盘。
     
    open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None) -> file object

    其中参数buffering控制缓冲行为

    buffering默认为-1,系统默认的全缓冲

    buffering可以设置为大于1的任意整数,字节数为buffering的全缓冲

    buffering=1,设置为行缓冲模式

    buffering=0, 设置为无缓冲模式

     
  • 相关阅读:
    [HAOI2006] 数字序列
    [HAOI2012] 外星人
    [HAOI2012] 高速公路
    [HAOI2007] 覆盖问题
    [HAOI2007] 分割矩阵
    [HAOI2007] 上升序列
    牛客练习赛58 D 迷宫
    牛客练习赛58 F XOR TREE
    牛客练习赛58 E 最大GCD
    牛客练习赛58 C 矩阵消除游戏
  • 原文地址:https://www.cnblogs.com/HISAK/p/11625517.html
Copyright © 2011-2022 走看看