包的导入/软件开发规范/异常处理
Posted shachengcc1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了包的导入/软件开发规范/异常处理相关的知识,希望对你有一定的参考价值。
1.包的导入
包是一票文件夹和py
绝对导入是从根目录开始from,不能挪动,但是直观(此处的根目录可以通过打印sys.path来查看)
相对路径是使用.和..来表示,可以挪动此时不能再在包内的任何位置使用绝对路径来导入,也绝不能再包里调用里面的py文件
一个‘ . ‘表示当前文件夹,两个‘ . . ‘表示当前文件夹的上一层文件夹.
2.软件开发规范:
每一个项目都写成这样,
bin下面有start.py,作为程序入口,if__name__==双下main,如下定式导入便不会再犯错
import os import sys sys.path.append(os.path.dirname(os.getcwd())) from core import core if __name__ ==‘__main__‘: core.main()
core下面放所有代码,放个core.py,内含main()方法
conf下面是配置文件,是一些数据的说明和设置
db下面放真实的数据
lib通用的自己写的模块
log下是日志文件
3.异常处理
程序一旦发生错误,就从错误的位置停下来了,不再继续执行后面的内容
使用try和except就能处理异常
try是我们需要处理的代码
except 后面跟一个错误类型 当代码发生错误且错误类型符合的时候 就会执行except中的代码
except 支持多分支,同样一个错误就停止
有没有一个能处理所有错误的类型 : Exception
有了万能的处理机制仍然需要把能预测到的问题单独处理
单独处理的所有内容都应该写在万能异常之前
即使有个万能检测,也要显示错误内容的话(便于调试)
except Exception as error: print(‘你错了,老铁‘,唔错原因是error)
else : 没有异常的时候执行else中的代码
finally : 不管代码是否异常,都会执行后面的语句
即使前面的try和expect里有return 程序在检测到之后依然会先执行finally的语句
函数里做异常处理用,不管是否异常去做一些收尾工作
以上是关于包的导入/软件开发规范/异常处理的主要内容,如果未能解决你的问题,请参考以下文章