5 模组——通俗讲叫包或模块,或者头文件。
5-1 引用模块
通过from...import...的方式引用模块,python所安装的模块存放在C:\Python27\Lib\site-package\目录下面
import time #引用time模块
print (time.ctime()) #ctime()打印当前时间
5-2 模块的调用
创建一个目录project,在该目录先创建两个文件pub.py和count.py.#Python\pub.py
def add(a,b):
print(a+b)
#Python\count.py
import pub
print (pub.add(4,5))
5-3 跨目录模块调用
——Python/model/pub.py——Python/count
#Python/count.py
import sys #调用sys模块
sys.path.append('\model') #把目录model通过append()追加到系统环境变量Path
from Python.model import pub
print (pub.add(4,5))
# 还要在model目录下创建一个__init__.py文件,告诉Python,model是一个可以被调用的模块
6 异常
6-1 认识异常——用try...except...语句来接收异常
try:
open('abc.txt','r')
except Exception:
print("异常了!")
异常 | 描述 |
BaseException | 新的所有异常类的基类 |
Exception | 所有异常类的基类,但继承BaseException类 |
AssertionError | assert语句失败 |
AttributeError | 试图访问一个对象没有属性 |
IOError | 输入输出异常。试图打一个不存在的文件时引起 |
NameError | 使用一个还未渎职对象的变量 |
IndexError | 在使用序列中不存在的所引进引发 |
IndentationError | 语法错误,代码没有正确的对齐 |
KeyboardInterrupt | Ctrl+C被按下,程序被强制终止 |
TypeError | 传入的对象类型与要求不符 |
SyntaxError | Python代码逻辑语法出错,不能执行 |
6-2更多异常用法
#try...except 与 else,没有异常执行else
try:
aa='异常测试'
print(aa)
except Exception:
print('异常')
else:
print('没有异常!')
有些情况不管是否出现异常这些操作都能被执行,比如说文件的关闭,锁的释放,把数据库连接返还给连接词等操作,用Try...finally...
6-3 抛出异常——提供raise方法抛出一个异常,raise只能使用Python中所提供的异常类
filename = input('please input file name:')
if filename=='hello':
raise NameError('input file name error')