Python学习之路:文件和异常

本文详细介绍了Python中文件操作的三个基本步骤:打开文件、读写文件和关闭文件,同时涵盖了各种模式、编码和异常处理的方法。此外,还涵盖文件夹操作及常见异常类型和处理技巧,帮助读者理解并避免在实际编程中遇到的问题。
摘要由CSDN通过智能技术生成

目录

1.文件操作三步骤
2.文件和文件相关方法
3.异常

文件与异常

一.文件

  • 文件操作三步骤

    1. 打开文件

      f = open('1.txt', 'w', encoding='utf8')
      

      ①f代表实例化的文件对象

      ②文件路径:相对路径(常用);绝对路径

      ③文件名可以是一个变量,前提是这个变量存储的是字符串形式的文件名

      相对路径语法
      访问下一级文件夹名/…/文件名
      访问同级文件名
      访问上一级…/…/…文件名

      ④文件操作的几种模式:

      模式解释
      w覆盖写文件不存在就创建
      r读取
      a追加文件不存在就创建
      b增加二进制流的形式支持音视频,图像等
      +增加读写功能

      ⑤编码格式常用:

      utf-8,gbk

    2. 读写文件

      方法解释
      f.read(size)按照size读取文件,不写size默认全部读取,二进制读取建议写1024,一个字符就是一个size适合大文件,文本,二进制读取
      f.readline()一次读取一行的内容适合大文件读取
      f.readlines()读取全部内容,存储为一个列表,每一行就是一个元素(包括换行符)适合小文件,文本读取
      f.write()写入的数据必须是字符串类型

      ①判断文件读取的时候内容是否为空的代码

      # 方式1
      content = f.readline()
      if not content:
          break
      
      # 方式2
      content = f.read(1024)
      if len(content) == 0:
          break
      
    3. 关闭文件

      f.close()

  • 文件夹操作的相关方法

    文件/文件夹操作解释
    os.rename(‘旧名’, ‘新名’)文件重命名
    os.remove(‘文件名’)文件删除
    os.mkdir(‘文件夹名’)新建文件夹
    os.getcwd()获取当前目录名
    os.chdir(‘切换后的目录’)切换到指定目录
    os.listdir(‘目录名’)获取指定目录下的所有文件信息
    os.rmdir(‘目录名’)删除指定目录(必须是空目录)
    shutil.rmtree(‘目录名’)删除指定目录(递归删除,不管是否为空);危险操作

二.异常

  • 异常不等于错误

  • 异常的捕获

    try:
        """
        可能发生错误的代码
        """
    except:
        """
        发生错误的时候执行的代码
        """
    else:
        """
        没有发生错误的时候执行的代码
        """
    finally:
        """
        不管是否发生错误都要执行的代码
        """
    
  • 异常类型:

    • except后面可以定义异常的类型,这样如果捕获了异常,就能够根据异常的类型来debug

    • 但是如果产生的异常类型和定义的异常类型不同,则无法捕获异常,此时程序仍然会报错

    • 一般try下方只放一行尝试执行的代码

    • 未知异常类型使用:

    except Exception as e:
    
  • 常见异常类型

    常见异常类型控制台打印结果异常解释
    NameErrorname ‘xxx’ is not defined变量未定义
    ZeroDivisionErrordivision by zero除数为0
    Exception[Errno 2] No such file or directory: ‘xxx.txt’文件不存在
  • 举例演示

    try:
        f = open('python.txt', 'r')
    except:
        f = open('python.txt', 'w')
    else:
        content = f.readlines()
        print(content)
    finally:
        f.close()
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值