文件操作和异常处理

一、文件介绍

文件的作用:

使用文件的目的:保存数据存放在磁盘。

把一些存储存起来,可以让程序下次执行的时候直接使用,而不必从写制作一份,省时省力。

二、文件的打开与关闭

新建→写入数据→保存→关闭

打开文件,或者新建立一个文件→读/写数据→关闭文件

  1. 打开文件

    格式:f = open('文件','w')或 f = open('文件','r')→读写

    r:只读打开方式。

    w:打开写入,存在则覆盖,不存在新建文件。

    a:打开文件追加,存在追加,不存在创建新的文件写入。

    1. 写数据(write)

      格式:对象 = open('文件','w')

           对象.write('写入数据')
      
           对象.close
      
    2. 读数据(read)

      格式:对象 = open('文件','r')

           变量 = 对象.read()
      
           print(变量)
      

      总结:

      1. open打开时,使用‘r’,可以省略
      2. 如果没有文件,打开错误,存在该文件才能操作
      3. 如果文件中有中文显示,使用:encoding='utf-8'
      4. read(num)从文件读取数据,num为文件读取的长度。
    3. 读文件(readines)

      以列表方式读取文件,每行作为一个元素。

      格式:

      对象 = open('文件','r')

      变量 = 对象.readines()

      print(变量)

    4. 读数据(readine)

      readine可以按照行的方式把整个文件中进行一行一行读取。

      格式:

      对象 = open('文件','r')

      变量 = 对象.redline()

    5. 可写(a)追加写入

      格式:

      对象 = open('','a')

      对象.write('写入数据')

      对象.close

      总结:a形式打开文件,不存在创建并从头写入,存在则从数据末尾追加数据。

    6. 读数据(rb)

      格式1:

      对象 = open('二进制文件','rb')

      变量 = 对象.read()

      print(变量)

      格式2:

      with open('二进制文件','rb') as 对象:

        变量 = 对象.read()
      
        print(变量)
      

      总结:

      1. 第二种不需要手动关闭文件,所以经常被使用。
      2. 如果没有文件,打开报错,存在该文件才能操作。
    7. 写数据(wb)

      格式:

      with open('二进制文件','wb') as 对象:

        变量 = 对象.write()
      
        print(变量)
      
  2. 关闭文件

    格式:close()

三、文件和文件夹的操作

  1. 文件重命名

    os模块中的rename()可以完成对文件的重命名。

    格式:

    import os

    os.rename('需要修改的文件名','新文件名')

  2. 删除文件

    os模块中的remove()可以完成对文件的重命名操作。

    格式:

    import os

    os.remove(’文件名‘)

  3. 创建文件夹

    os模块中的mkdir()可以完成对文件的重命名操作。

  4. 获取当前目录

    os模块中的getcwd()可以获取当前目录

四、异常

  1. 什么是异常?

    异常即使一个事件,影响程序正常运行的事件。

  2. 异常处理

    1. 作用:

      1. 捕获异常可以使用try/except语句
      2. try检测、except捕获
      3. 不想异常发生结束程序,只需在try里捕获它。
    2. 语法

      try:

      语句

      except 错误名字:

      语句

      else:

      语句

    3. 使用except二不带任何异常类型

      语法:

      try:

      正常操作

      except:

      发生异常,执行这块代码:

      else:

      如果没有异常执行这块代码

    4. 使用except而带多种异常类型

      语法:

      try:

        异常的操作
      

      except(各种异常名称):

      else:

        没有异常执行这块代码
      
    5. try-finally语句

      try-finaly语句无论是否发生异常都将执行最后的代码

      语法:

      try:

      语句

      finally:

      语句

      注意:当在try块中抛出一个异常,立即执行finally块代码。

      finally块中所有语句执行后,异常被再次触发,并执行except块代码。

      参数的内容不同于异常

    6. 异常的传递

    7. 触发异常

      可以使用raise语句自己触发异常。

    8. 用户自定义异常

      定义:通过穿件一个新的异常类,程序可以命名它们自己的异常,异常应该是典型的集成自己Exception类,通过直线或间接的方式

五、模块

python模块(Module),是一个python文件,以.py结尾,包含python对象定义和python语句。

  1. 模块的引入

    1. import

      模块定义好后,可以使用import语句来引入模块

    2. from....import 语句

    3. from....import *语句

      把一个模块的所有内容全都导入到当前的命名空间也是可行的。

六、python中的包

包是一个分层次的文件目录结构,它定义了一个模块及子包,和子包下的子包等组成的python的应用环境。

包就是一个文件夹,但文件夹下面必须有init.py文件,该文件的内容可以是空的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容