zoukankan      html  css  js  c++  java
  • 17.python文件处理

    原文:https://www.cnblogs.com/linhaifeng/articles/5984922.html

    文件处理流程:

    1. 打开文件,得到文件句柄并赋值给一个变量
    2. 通过句柄对文件进行操作
    3. 关闭文件

    #1. 打开文件的模式有(默认为文本模式):
    r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
    w,只写模式【不可读;不存在则创建;存在则清空内容】
    a, 之追加写模式【不可读;不存在则创建;存在则只追加内容】
    
    #2. 对于非文本文件,我们只能使用b模式,"b"表示以字节的方式操作(而所有文件也都是以字节的形式存储的,使用这种模式无需考虑文本文件的字符编码、图片文件的jgp格式、视频文件的avi格式)
    rb 
    wb
    ab
    注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码
    
    #3. 了解部分
    "+" 表示可以同时读写某个文件
    r+, 读写【可读,可写】
    w+,写读【可读,可写】
    a+, 写读【可读,可写】
    x, 只写模式【不可读;不存在则创建,存在则报错】
    x+ ,写读【可读,可写】
    xb
    #1. 打开文件,得到文件句柄并赋值给一个变量
    f=open('a.txt','r',encoding='utf-8') #默认打开模式就为r
    
    #2. 通过句柄对文件进行操作
    data=f.read()
    
    #3. 关闭文件
    f.close()

    读文件

    f=open('文件','r',encoding='utf-8')
    # data=f.read()
    # # print(data)
    # print(f.readable())
    # print('第1行',f.readline(),end='')
    # print('第2行',f.readline())
    # print('第3行',f.readline())
    # # for i in range(1):
    # #     pass
    # print('第4行',f.readline())
    # print('第5行',f.readline())
    # print('第6行',f.readline())
    # print('第7行',f.readline())
    data=f.readlines() #读所有
    print(data)
    f.close()

    写文件

    f=open('文件名','w',encoding='utf8')
    # f.read()
    f.write('11111111
    ')
    f.write('222222222
    ')
    f.write('333
    4444
    555
    ')
    # f.writable()
    f.writelines(['555
    ','6666
    '])
    f.writelines(['555
    ','6666
    ',1]) # 文件内容只能是字符串,只能写字符串
    f.close()

    第二种方法(with关键字,不用手动close)

    # 一行太长时斜杠+回车换行
    with open('xxx','r',encoding='gbk') as src_f,
            open('xxx_new','w',encoding='gbk') as dst_f:
        data=src_f.read()
        dst_f.write(data)
    
    # f=open('a.txt')
    # print(f.encoding) #查看文件编码
  • 相关阅读:
    学习Extjs4 (21) 简单窗口
    C#启动外部程序的几种方法以及等待外部程序关闭的方法
    linux驱动学习(3)同步、信号量和自旋锁
    andoird webiew使用有道辞典实例
    Linux程序设计——用getopt处理命令行参数(转)
    git,github在windows上的搭建
    sparc芯片验证
    睡了一下午
    UNIX/Linux里统计文件里某个字符出现的次数(转)
    linux和单片机的串口通信
  • 原文地址:https://www.cnblogs.com/raitorei/p/11815017.html
Copyright © 2011-2022 走看看