python文件操作

原文地址

  • 两种打开方式

    • 方式一

      f = open(file='data/test01.txt',mode='r',encoding='UTF-8')
      # file:文件路径
      # mode:文件操作模式,读、写、追加。。。
      # encoding:文件的编码方式
      print(f.read())
      # test
      # 测试
      f.close()   # 文件操作完成之后需要手动close()
      
    • 方式二

      with open(file='data/test01.txt',mode='r',encoding='UTF-8') as f:
          print(f.read())
          # test
          # 测试
      # with的范围结束之后打开的文件就自主关闭了,无需手动关闭
      
  • 文件的处理方式

    通过open()方法中传的mode属性来指定

    mode处理方式
    r只读
    rb只读,打开为bytes(二进制)类型
    w只写,如果文件不存在会创建一个;如果文件存在会覆盖写文件
    wb只写,以bytes格式写入文件
    a向文件中追加
    r+ 或 r+b读写
    w+ 或 w+b写读
    a+追加
    b 代表二进制(bytes)
    + 代表读写
  • 读文件

Python按行读取生成列表

with open(file='data/test01.txt',mode='r',encoding='UTF-8') as f:
    print(f.read())
    # test
    # 测试
with open(file='data/test01.txt',mode='rb') as f:
    print(f.read())
    # b'test\r\n\xe6\xb5\x8b\xe8\xaf\x95'
  • 写文件

    with open(file='data/test02.txt',mode='w',encoding='UTF-8') as f:
        f.write('test02\n测试02')
    with open(file='data/test03.txt',mode='wb') as f:
        f.write('test02\n测试02'.encode('utf8'))  # 既然是wb(以二进制)写入,就要给文本内容编码成二进制,直接传入文本会报错
        # 直接查看时候不会以二进制码显示
    
  • 追加

    with open(file='data/test04.txt',mode='a',encoding='UTF-8') as f:
        # test04.txt
        # test04
        # 测试04
        f.write('测试04追加')
        # 如果mode='ab',write的时候就要对内容encode()
    
  • 文件对象f的常用方法

    方法作用
    f.read()读取文件的全部内容
    f.seek(int)将光标定位的int值处
    f.tell()定位到上次操作光标的位置
    f.readline()读一行
    f.readlines()读取每行生成一个列表
    f.wirte(content)向文件中写入内容
    f.readable()返回文件是否可读
    f.truncate(n)将源文件截取光标到n,写入文件(先读后写)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BBJG_001

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值