Python之文件操作

文件的打开关闭统一使用with资源管理器

文件打开执行读写之后需要关闭,在Python里统一使用with资源管理器关闭文件,格式为:

with open(filepath, modular) as f:
  • filepath: 文件路径,相对路径时文件与源文件同一目录
  • modular: 选择打开方式。
    打开方式:

b为操作对象为二进制文件时使用

模式可做操作若文件不存在是否覆盖
r / rb只能读报错-
w / wb只能写创建
a / ab只能写创建否,追加写
r+ / rb+可读可写报错
w+ / wb+可读可写创建
a+ / ab+可读可写创建否,追加写

创建txt文件并写入数据,之后读取文件

with open(r"file.txt","w") as f:
    f.writelines("Hello,world")
    f.writelines("\nI am Huawei")
    
with open(r"file.txt","a+") as f:
    f.writelines("\nDo my best for world")
    
with open(r"file.txt", "r+") as f:
    content = f.readlines()
    for item in content:
        print(item)

运行结果:

Hello,world

I am Huawei

Do my best for world

换行符也占一个字符

文件的定位读写

tell()返回当前指针的位置


seek(offset, whence)定位到文件的指定读写位置
offset:表示偏移量
whence:表示方向,该参数有三个值:
1、SEEK_SET或者0:whence参数的默认值, 表示从文件的起始位置开始偏移
2、SEEK_CUR或者1:表示从文件当前位置开始偏移
3、SEEK_END或者2:从文件末尾开始偏移

在使用seek()函数时,whence参数设为1/2时必须用二进制读取文件

with open(r"file.txt","rb") as f:

    print("当前指针位置:",f.tell())
    print(f.read(3))
    print("当前指针位置:",f.tell())
    f.seek(8)
    print(f.read(3))
    print("--------",f.tell())
    f.seek(-4,1)
    print(f.tell())
    f.seek(-3,2)
    print(f.tell())
    print(f.read())

使用扩展包读写文件及异常处理

import pickle
with open("file.dat","wb") as f:
    pickle.dump("若逢新雪初霁,满月当空",f)
    pickle.dump("下面平铺着皓影",f)
    pickle.dump("而你带着笑向我走来",f)
    pickle.dump("月色与雪色之间",f)
    pickle.dump("你是第三种绝色",f)

with open("file.dat", "rb") as f:
    while True:
        try:
            print(pickle.load(f))
        except:
            break

运行结果:

若逢新雪初霁,满月当空
下面平铺着皓影
而你带着笑向我走来
月色与雪色之间
你是第三种绝色
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值