异常

作者: 流光汐舞 | 来源:发表于2017-07-12 21:12 被阅读0次

今天学习了os模块中的一些操作,常用模块有: os模块 os.path模块 shutil模块

os.remove(file) --------- 删除一个文件
rename(name1,name2) --------- 文件重命名
os.mkdir(name) --------- 创建文件夹
os.makedirs(‘m/n’) --------- 创建文件夹
os.getcwd() --------- 获取当前目录
os.chdir("../") --------- 改变默认目录
os.listdir("./") --------- 获取目录列表
os.rmdir(name) --------- 删除空文件夹
shutil.rmtree( src ) --------- 递归删除一个目录以及目录内的所有内容

批量重命名代码练习:

import os
import os.path
#输入完整路径
path = input('输入路径:')
#列出所有内容
ls = os.listdir(path)
#切换工作目录
os.chdir(path)
#遍历
for i in ls:
    #判断是否是文件
    if os.path.isfile(i):
        num = i.rfind('.')
        if num!=-1:
            newName = i[:num]+'-new'+i[num:]
            #重命名
            os.rename(i,newName)

然后是 异常 相关知识

path = input('输入文件的路径:')
print('1......')
content = None
try:
    print('2......')
    content = open(path,'r',encoding='utf-8').read()
    a = 10/0
    print('3......')
except (FileNotFoundError,NameError,ZeroDivisionError) as ex:
    print('4......')
    print('输入的路径不存在')
    print(ex)
print('5......')
print(content)

python中只有函数里和类里有作用域
其它都没有,这里的ex是局部变量,其它都是全局变量

开发的时候建议,捕捉异常要写的更详细。
但是一般直接用Exception。简单省事。
如果需要写很多异常类的描述,按照从小到大的顺序。
因为有一个捕捉到了异常。不会再被捕捉了。

try:
    num = 10/0
except Exception as ex:
    print(ex)

try except 之间写可能出现异常的代码
except else 之间对异常的处理
else里没错的时候的处理

path = input('输入文件的路径:')
try:
    content = open(path,'r',encoding='utf-8').read()
except Exception as errorMsg:
    print('产生错误了:%s'%errorMsg)
else:
    print(content)
print('over...')

finally:无论是否有异常,finally里代码都会执行
有一些资源使用完毕之后,需要关闭释放资源。
无论是否有异常,都得关闭,那么这样的代码可以写到finally中

    try:
        pass
    except Exception as ex:
        pass
    else:
        pass
    finally:
        pass

嵌套:

import time
try:
    #f = open('test.txt')
    f = open(r'C:\Users\Administrator\Desktop\xx.txt')
    try:
        while True:
            content = f.readline()
            if len(content) == 0:
                break
            num=1/0 #模拟一个异常
            #time.sleep(2)
            print(content)
    #except:
        #print('except...')
    finally:
        f.close()
        print('关闭文件')
except:
    print('没有这个文件')

函数的嵌套:

def test1():
    print("----test1-1----")
    try:
        print(num)
    except:
        print('test1  except......')
    print("----test1-2----")
def test2():
    print("----test2-1----")
    test1()
    print("----test2-2----")
def test3():
    try:
        print("----test3-1----")
        test1()
        print("----test3-2----")
    except Exception as result:
        print("捕获到了异常,信息是:%s"%result)
    print("----test3-2----")
test3()
#print("------华丽的分割线-----")
#test2()

相关文章

  • 异常和模块

    异常 目标 了解异常 捕获异常 异常的else 异常finally 异常的传递 自定义异常 一. 了解异常 当检测...

  • python多线程

    异常基础知识 -异常简介: 运行时错误 -异常类: 异常数据 异常名称,异常数据,异常类型 -自定义异常 clas...

  • dart 异常

    dart中的异常 异常处理 抛出异常 异常捕获

  • Java基础之异常

    Java基础之异常 目录 异常简单介绍 ThrowableErrorException 异常分类 如何处理异常异常...

  • python核心编程-错误与异常

    本章主题:什么是异常Python中的异常探测和处理异常上下文管理引发异常断言标准异常创建异常相关模块 什么是异常 ...

  • motan(RPC)系统梳理知识点

    异常分类: 业务异常(bizException) 服务异常(serviceException) 框架异常(fram...

  • 异常

    Java异常体系 异常的分类 Java的异常分为两大类:Checked异常和Runtime异常(运行时异常)。所有...

  • 从零构架个人博客网站(二)-全局异常处理

    中间件的异常 全局异常中间件全局异常监听定义异常的返回结果定义常见的异常状态开发环境 异常查看 对于异常,我们可以...

  • Node.js异常处理

    Node.js异常分类: 变量异常 函数异常 调用异常 变量异常 未定义变量 未包含对象 变量类型错误 函数异常 ...

  • python 异常

    异常 目标 异常的概念 捕获异常 异常的传递 抛出异常 01. 异常的概念 程序在运行时,如果 Python 解释...

网友评论

      本文标题:异常

      本文链接:https://www.haomeiwen.com/subject/aeqihxtx.html