zoukankan      html  css  js  c++  java
  • python文件操作

    文件操作模式

    读取文件

    文件内容

    床前明月光,疑是地上霜
    举头望明月,低头思故乡

    1.read()

    读取文件所有内容

    f = open('libai',encoding = 'utf-8')
    print(f.read())
    
    床前明月光,疑是地上霜
    举头望明月,低头思故乡

    2.readline()

    只读取一行内容

    f = open('libai',encoding = 'utf-8')
    
    print(f.readline())
    
    床前明月光,疑是地上霜

    3.readlines()

    把文章以换行符分割i,并生成list格式(数据量大的时候,不建议使用)

    f = open('libai',encoding = 'utf-8')
    
    print(f.readlines())
    
    ['床前明月光,疑是地上霜
    ', '举头望明月,低头思故乡']

    4.seek和tell光标

    f = open('libai',encoding='utf-8')
    data = f.read()     #默认光标在起始的位置,read()读取完后,光标停留到文件末尾
    data2 = f.read()    #data2读取的内容为空
    print(data)
    print(data2)
    f.close()          #关闭文件

    文件内容

    abcdefg
    hyjklmn
    opqrstu
    vwxyz
    f = open('libai',encoding='utf-8')
    #tell获取当前的光标
    print(f.tell())    #0
    
    print(f.readline().strip())
    print(f.readline().strip())
    print(f.tell())
    f.seek(0)     #移动光标到文件起始的地方
    print(f.readline().strip())
    
    
    结果:
    0
    abcdefg
    hyjklmn
    18
    abcdefg

    5.flush刷新

    模拟进度条

    import sys,time
    
    for i in range(40):
        sys.stdout.write('#')
        sys.stdout.flush()     #flush强制舒心缓存到内存的数据写入硬盘
        time.sleep(0.1)

    6.with语句

    with代码执行完后,文件会自动关闭

    with open('libai') as f:
        print(f.read())

    7.二进制读取"rb"

    #rb  二进制模式读取
    f = open('libai','rb')  #主要用于网络传输
    print(f.readline())
    
    
    b'xe5xbax8axe5x89x8dxe6x98x8exe6x9cx88xe5x85x89xefxbcx8cxe7x96x91xe6x98xafxe5x9cxb0xe4xb8x8axe9x9cx9c
    '

    8.二进制写"wb"

    f = open('libai','wb')
    f.write('中文'.encode()) 

    编码与转换

    方法

  • 相关阅读:
    poj 1035 (Spell checker )
    poj 3080 (暴力 strstr)
    kmp 模版
    匈牙利算法模版
    poj 1274 The Perfect Stall (最大匹配)
    hdu 1083 Courses(二分图 )
    pku 3363(内部测试赛)
    Linux 下联网脚本文件
    Qt 多国语言
    引用和引用参数
  • 原文地址:https://www.cnblogs.com/xuyxbiubiu/p/10397734.html
Copyright © 2011-2022 走看看