本文共 2293 字,大约阅读时间需要 7 分钟。
Python 使用被称为异常的特殊对象来管理程序执行期间发生的错误。每当发生让 Python 不知所措的错误时,它都会创建一个异常对象。如果你编写了处理该异常的代码,程序将继续运行;如果你未对异常进行处理,程序将停止,并显示一个 traceback ,其中包含有关异常的报告。
①try。。。except。。。
当我们认为某些代码可能会出错时,就可以用try来运行这段代码,
如果执行出错,则后续代码不会继续执行,而是直接跳转至错误处理代码,即except语句块。
def f4(a, b, c, d): try: # 先尝试运行try内部的代码, 如果正常运行则和没写一样 x = b + c y = d[3] z = a/b return x, y, z except (TypeError,ZeroDivisionError, IndexError ) as e : # 当try里面的代码有问题的时候, 则跳到except里面去运行 print('您的错误信息是:', e)
②finaly 和 else
不管try子句发生什么异常,都将执行finally子句。可用于在发生异常时执行清理工作,这个子句是与try子句配套的。
try: # 先尝试运行try内部的代码, 如果正常运行则和没写一样 print( 10 / 0 )except ZeroDivisionError as e : # 当try里面的代码有问题的时候, 则跳到except里面去运行 print('ZeroDivisionError:', e)finally: print('finally里面的代码')
try: x = 1 / 1 # try执行不报错,直接跳到else执行,再执行finally,最好执行del xexcept NameError: print("Unknown variable")else: print("That went well!")finally: print("Cleaning up.") del xThat went well!Cleaning up.
在Python中有一个概念叫做模块(module),比如要调用sqrt函数,必须用import关键字引入math这个模块,下面就来了解一下Python中的模块。
说的通俗点:模块就好比是工具包,要想使用这个工具包中的工具(就好比函数),就需要导入这个模块.
import math # 调用math模块# 方法1print(math.sqrt(2)) # 调用函数必须加上模块名# 方法2from math import sin # 导入一个函数from math import cos, tan, sqrt # 一次性导入多个函数from math import * # 一次性导入所有函数# 方法3import math as m # 把模板名重命名,然后加在调用前# 打印模板中全部属性和函数import mathprint(dir(math))import calendar # 日历print(calendar.month(2019,10))
①相对路径
f = open("cheliang.csv",'r', encoding='utf-8') # GBK 或 GB2312type(f) # 查看格式f.mode # 查看状态f.name # 调用名字data = f.read() # 读取print(data) f.close() # 从内存中释放文件
②相对路径的上层文件夹
f = open("../cheliang.csv",'r',encoding='utf-8')
③绝对路径
f = open(r"D:\CDA数分学习资料\python\【进阶】异常、模块、文件读写\【进阶】异常、模块、文件读写\cheliang.csv",'r',encoding='utf-8')
# read 不添加参数代表直接把整个文件读入进来data = f.read()# readlines 读取指定位置f.readline()data = f.readlines()data[0]Out[15]:'0,河北省(冀),河南省(豫),云南省(云),,,\n' # 第一行数据
f = open("text.txt",'w', encoding='utf-8') text = '''人生若只如初见,何事秋风悲画扇。等闲变却故人心,却道故人心易变。骊山语罢清宵半,泪雨霖铃终不怨。何如薄幸锦衣郎,比翼连枝当日愿。'''f.write(text) #如果这时查看文件, 是没有内容的f.close() # 释放后才可以看到内容
转载地址:http://cxqbb.baihongyu.com/