• python之文件路径与异常处理


    python之文件路径与异常处理

    一、文件路径

    1、__file__:指当前文件的路径

    2、os.path.abspath/os.path.realpath:获取绝对路径

    os.path.abspath(__file__):获取当前文件的绝对路径

    3、os.path.dirname:获取父目录路径

    os.path.dirname(__file__):获取当前文件路径的父目录路径

    4、os.path.join(path1[, path2[, ...]]):拼接路径,拼接路径只能一级一级的拼接

    5、os.mkdir(path):在指定的路径下创建目录

    6、os.rmdir(path):删除目录

    7、os.path.exits(path):指定path是否存在,输出bool,如果path存在,返回True;如果path不存在,返回False

    8、os.path.isfile(path):指定path是否为file,输出bool,如果path为file,返回True,如果path不为file,返回False

    9、os.path.isdir(path):指定path是否为目录,输出bool,如果path为目录,返回True,如果path不为目录,返回False

    10、os.path.split(path):将path分割成目录和文件名二元组返回。

    11、os.path.basename(path):获取文件名

    黑色加粗的是比较常用的

    二、异常处理

    1、异常:python异常就是python程序运行的过程中发生的错误

    2、异常处理的作用:发生异常程序会终止运行,所以异常处理的作用就是防止程序的终止,让程序正常运行

    3、异常捕获以及处理

    1)

    try:

      ...未发生异常时运行的代码...

    except:

      ...发生异常,捕获成功后运行的代码...

    2) Exception为万能异常基类,当捕获指定基类异常的时候尽量不要使用万能异常基类,异常一个一个去捕获会要好些

    try:

      ...

    except Exception as e: # 此处e是别名,可打印出异常的具体信息。

      print(e)

    3)可捕获多个异常,进行处理,try语句中,可有多个except,但每次try语句运行后发出错误只能捕获到一个指定的异常,因为python语句运行是从上往下运行的。

    try:

      ...

    except NameError:

      ...

    except ValueError:

      ...

     4)try...except...finally

    try:下面放需要监控的代码

    except:处理捕捉到的错误异常

    finally:不管try下面的代码是否会遇到异常,finally下面的代码一定会执行

    5)try...except...else

    try:下面放需要监控的代码

    except:处理捕捉到的错误异常

    else:如果try下面的代码没有发生异常,那么就继续执行else下面的代码,否则就不执行

    4、异常基类

    1)Exception:万能异常基类,常规异常基类

    2)NameError:未定义变量

    3)ValueError:传入的参数有误,虽然参数符合,但是参数的值却是不想要的,比如int("a")

    4)TypeError:数据类型错误,如:"a" + 1 传入的是字符串,或者int,类型不符合要求

    5)KeyError:映射关系中没有这个key

    6)IndexError:索引不存在

    7)IOError:输入输出错误

    8)SyntaxError:python语法错误,不能被try捕获到

    9)ZeroDivisionError:除(或取模)零(所有数据类型)

    10) AssertionError:断言语句失败

    11)ImportError:导入模块/对象失败

    12)AttributeError:对象没有这个属性

    5、异常的抛出:raise 将错误往上抛,相当于自首,raise的作用就是把异常处理中的错误抛出来,让我们看到traceback信息,一般都是在我们处理完异常信息后,我们可以把错误抛出,在后期的单元测试中生成测试报告用的比较多

    raise ValueError("数据类型错误!")

    6、分组捕获

    1)异常也是可以分组的,因为异常也分等级,分组进行处理(bug等级)

    2)try...except (异常类型1,异常类型2) as err:将异常类型1和异常类型2看做是同一个等级的异常(如都是致命的异常/严重的异常),进行相同处理

    本文来自博客园,作者:%女王%,转载请注明原文链接:https://www.cnblogs.com/lynne-wu/p/14184043.html

  • 相关阅读:
    linux下mysql数据的导出和导入
    mysql 命令行导数据库
    前端开发中经常使用到的20个正则表达式
    HTML5学习内容总结
    HTML5表单type类型详解
    表单说明(部分)
    HTML5和HTML4的区别(常用部分)
    HTML基础知识
    认识表单元素
    学习html5第一天
  • 原文地址:https://www.cnblogs.com/lynne-wu/p/14184043.html
Copyright © 2020-2023  润新知