python——异常处理

2018-04-23  本文已影响17人  Jalynn葸
异常处理
try:
    print(num)
    print("*********")
except:
    print("捕获到了异常")
print("##############")

打印结果:
捕获到了异常
##############
try:
    11/0
    print(num)
    print("*********")
except (NameError,FileNotFoundError):
    print("捕获到了异常")
except Exception as ret:
    print("只要上面的except没有找到异常,这个异常一定能捕获")
    print(ret)
else:
    print("没有异常才会执行的效果")
finally:
    print("不管有没有产生异常,这句话总会执行")
print("##############")

运行结果:
只要上面的except没有找到异常,这个异常一定能捕获
division by zero
不管有没有产生异常,这句话总会执行
##############
异常传递
抛出自定义异常
image.png
异常处理中抛出异常
image.png
模块
#导入其他模块,可以直接调用其他模块里的方法
import sendmsg
sendmsg test1()
#导入某个模块的某个方法
from sendmsg import test1, test2
test1()

也可以使用这个导入所有的东西

from sendmsg import *
import time as tt
tt.sleep(3)

name:是系统自定义的变量
print("name")
如果是python自己调用,他相当于是一个字符串,如果别人导入此模块,则打印的是这个模块的名字

if __name__ =="__main__"
test()
test1()
all

只要模块里面有all,则加入此列表的方法被别的模块调用时才可以使用,否则,无法调用

__all__ = ["test1"]
def testxjx():
    print("xjx")
def test1():
    print("1111111")
def test2():
    print("22222222")

如果文件结构是下面这样,就不能通过import 文件夹名 导入并调用文件。

image.png
此时只要给TestMsg下新建一个 init.py ,如下结构,此时这个文件夹就成为一个包。
image.png
然后在init.py文件中写入:
__all__ = ["sendmsg"]
from . import sendmsg #用这个python2和python3都可以用
print("hahahahha") #直接导入包时,会先执行包里的内容

此时才可以使用sendmsg这个模块,并调用里面的方法

模块的发布

如果你想把自己写的包安装到电脑系统上,以方便任何程序调用,则:
1、在和包同一个路径下建立一个文件

#文件内容
from distutils.core import setup
setup(name = "xjx",version = "1.0",description = "xjx's module",author = "xjx",py_moudles = ['TestMsg.sendmsg','TestMsg.receivemsg'])
#然后在命令行里构建
python3 setup.py build
image.png

生成发布压缩包:

#就会多一个 .tar.gz 包
python3 setup.py sdist

解压:

安装:

python3 setup.py install

然后就可以在所有的
程序中直接import使用

上一篇下一篇

猜你喜欢

热点阅读