异常:BUG
捕获异常
try用来捕获异常 except 处理异常 else 如果没有异常处理条件
捕获指定异常
try:
print(name)
except NameError as e:
print("出现了变量未定义异常")
print(e)
捕获多个异常
捕获全部异常:
try:
f = open("D:/123.txt","r")
except Exception as e:
print("出错了")
else无异常
else 后跟无异常执行的内容
finally 无论有无异常均要执行的内容
异常的传递
模块的导入
from 模块名 import 功能名
from time import sleep
print("炸弹还有10s爆炸")
sleep(3)
print("boom")
from time import* 可以用模块全部功能
as 别名
python模块 自定义模块
main
all
自定义python包
第三方包
案例
模块1
def str_reverse(s):
"""
将字符串完成反转
:param s:
:return:
"""
return s[::-1]
def substr(s,x,y):
"""
按照给定下标完成给定字符串的切片
:param s:
:param x:
:param y:
:return:
"""
return s[x:y]
if __name__ == '__main__':
print(str_reverse("黑马程序员"))
print(substr("黑马程序员",1,3))
模块2
def print_file_info(file_name):
"""
:param file_name: filename 文件路径
:return:
"""
f = None
try:
f = open(file_name,"r",encoding="UTF-8")
content = f.read()
print("文件全部内容如下:")
print(content)
except Exception as e:
print(f"程序出现异常,原因为:{e}")
finally:
if f:### 防止异常 如果f有内容 就是true 如果f 为None 不进行下一段
f.close()
def append_to_file(file_name,data):
"""
:param file_name: 路径
:param data: 数据
:return:
"""
f = open(file_name,"a",encoding="UTF-8")
f.write(data)
f.write("\n")
f.close()
if __name__ == '__main__':
append_to_file("D:/test_append.txt","小母牛带闪电")
if __name__ == '__main__':
print_file_info("D:/word.txt")
test.py
####功能一
import my_utils.func1
print(my_utils.func1.str_reverse("小母牛带闪电"))
print(my_utils.func1.substr("小母牛带闪电",0,3))
####功能二
from my_utils import func2
func2.append_to_file("D:/word.txt","太原理工大学九月入学")
func2.print_file_info("D:/word.txt")