python对异常的处理方式?

python引入异常类处理异常情况。

异常的处理流程:发生异常->生成异常对象->提交给解释器->解释器捕获异常->调用异常已处理代码。

异常代码写法如下:

try:

print('step1')

para = input('input a number')

val = 3/int(para)

print('step2')

except BaseException as e:

print('error')

print(e)

else:

print('the result is{0}'.format(val))

finally:

print('运行结束')

#输入0

step1

input a number0

error

division by zero

运行结束

#输入1

step1

input a number1

step2

the result is3.0

运行结束

资源释放:打开资源会存在异常发生,常常资源不能释放的问题,常常采用finally保证资源释放,也可以采用with关键字实现:

#上下文管理:代替try finally操作的繁琐,用于执行完成后自动释放资源。

with open(‘d:ss.txt’) as f:

for line in f:

print(line)

存储异常信息:如果需要将详细异常信息写入文件,可采用traceback调取详细异常信息。

import traceback

try:

print('step1')

val = 3/0

print('step2')

except:

with open('d/error.txt') as f:

traceback.print_exc(file = f)

python中的常见异常:

SyntaxError:语法错误

NameError:访问一个没有申明的变量

ZeroDivisionError:零除错误

ValueError:数值错误

TypeError:类型错误

AttributeError:访问对象的不存在属性

IndexError:索引越界

KeyError:关键字不存在

python对文件的操作?

操作文件采用python内置函数,写入时如果不指定编码,文件编码将采用系统的默认编码(windows是GBK,linux是UTF-8),这也是windows写入中文常常发生乱码的原因。为了保证安全性,建议采用finally或with打开文件,保证文件能被正确释放。

例:文件写入

f = open(文件名,打开方式,encoding=’utf-8’)

f.write(字符串)

f.close()

打开方式:

r:读模式

w:写模型

a:追加模式

b:二进制模式

+:读写模型

例2:文件读取

read(size):读取size个字符,read(),读取整个文件

readline():读取一行

readlines():按行存成列表

此外,如果需要为存储文件添加行号,可采用enumerate实现

enumerate:为元素添加编号

a = ['a','b','c']

b = enumerate(a)

print(list(b))

[(0, 'a'), (1, 'b'), (2, 'c')]

序列号与反序列化:对象属于结构化数据,无法直接存储或传输,需要采用序列化和反序列化手段完成对象的传输和存储,python采用内置pickle模块实现。

import pickle

pickle.dump(obj, file) #obj对象序列表后,存到file

pickle.load(file) #file反序列号成对象

python其他内置模块:

os#操作系统命令

import os.path #操作路径、目录

import shutil#用于文件拷贝和压缩

import zipfile#解压缩

python中的模块化编程?

python中可导入的模块包括:Python文件、包、DLL文件、共享库、自定义包等。

导入:import 模块名(导入整个模块)、rom 模块名 import 函数名(导入某个函数)

自定义包:本质是个文件夹,将类似的模块放到一起,每个包必须有个__init__.py文件

负责包的初始化、权限控制等。

模块搜索路径:模块能够被导入的前提是能够搜索到该模块,python搜索路径为:内置模块->当前路径->程序主目录->pythonpath环境变量目录->标准连接库目录->第三方目录->.pth文件(需要建立在site-packeages目录下)的内容->sys.path.append()添加的目录

模块的打包发布流程?

1.构建:统计目录下创建一个setup.py文件夹,内容如下:

from distutils.core import setup

setup(

name='nester',

version='1.0.0',

py_modules =['nester'],

author='jiale',

author_email='18521093275@163.com',

url='http://www.headfirstlabs.com',

description='这是我的第一个发布安装文件'

)

2.终端运行命令,即可生成包

python setup.py sdist

3.本地安装

将包拷贝到第三方目录(site-packeages目录)

命令行输入 python setup.py install安装即可

4.在线发布

安装要求到pypi之后,即可采用pip install安装

python内置模块大全_python知识汇总(异常、内置模块和打包)相关推荐

  1. python作业大全_Python作业汇总 - osc_p8sbsl3n的个人空间 - OSCHINA - 中文开源技术交流社区...

    1. info = 'abc' info[2] = 'd' 结果是什么,为什么会报错呢? info[2]已赋值,不能再次赋值."str"对象不支持项目分配 2. 如果要把上面的字符 ...

  2. python基础知识资料-学习Python列表的基础知识汇总

    千里之行,始于足下.要练成一双洞悉一切的眼睛,还是得先把基本功扎扎实实地学好.今天,本喵带大家仔细温习一下Python的列表.温故而知新,不亦说乎. 当然,温习的同时也要发散思考,因为有些看似无关紧要 ...

  3. Python之Pandas使用知识汇总(持续更新)

    Python之Pandas使用知识汇总 一.Pandas简介 二.环境 三.使用 3.1 数据结构 3.1.1 Series 3.1.2 Dataframe 3.2 索引对象 3.3 读写文本格式数据 ...

  4. python 忽略错误_python如何忽略异常

    python一般使用try-except-处理异常.try:          #可能会出现异常的代码,放在try下 code1      #如果try内部任意一行代码出现异常,# 直接跳转至exce ...

  5. python题型大全_python进阶:练习题 汇总

    点击这里下载一个zip包,解压后,得到一个目录source. 请写一个程序,在当前工作目录下,创建 如下的目录层级结构 backup/new/ 然后把整个下载的source目录 内容,拷贝到 back ...

  6. python符号大全_python吊打Excel?屁!那是你不会用!

    相信大家总能在朋友圈刷到下图这种教育广告,python很强,但总是这么贬低Excel就没必要了吧. 直到我看见了下面的回复,笑喷! 实话实说,从数据分析的角度来看,excel的可视化要差一些,数据采集 ...

  7. Python学习手册 - 基础知识汇总(精简版)

    1.列表 (列表是动态的) 基本操作: list = ["A","B","C"]#列表检索list[0] #0 - 位置list[-1] # ...

  8. python 变量引用_Python 知识要点:变量及引用

    变量使用前必须赋值,变量赋值后才会被创建. 变量名 = 值 变量的命名:可以由字母,数字,下划线组成,不能以数字开头,不能与关键字重名,每个单词小写. 定义变量时不需要指定变量的类型,在内存中创建一个 ...

  9. python多行注释符号_python知识学习,python标识符和关键字

    python标识符和关键字 标识符和关键字都是之中具有某种意义的标记和称谓,就像人的外号一样.所谓的标识符就是代码的分号.单引号.双引号等等就是标识符,而代码中的if.for等等就是关键字. pyth ...

最新文章

  1. debain apt oracle jdk,debian安装oracle jdk
  2. 【金融】财务报表可能有用的点
  3. material mem
  4. 3,SQL语句及数据库优化
  5. vim中的 recording
  6. netty web 容器_Netty 实战:如何编写一个麻小俱全的 web 框架
  7. SlopOne推荐算法
  8. 2018 年度总结 —— 缘见
  9. 转:json与map互转
  10. android 字体空格,android – 在textview中设置字母之间的空格
  11. 【华为云技术分享】【技术总结】从Hash索引到LSM树
  12. 第 21 章 中介者模式
  13. C# 开发和使用中的32个技巧
  14. Hadoop JobTracker和NameNode运行时参数查看
  15. 初学视觉学习笔记----打开摄像头遇到的问题
  16. 解决JSON页面乱码
  17. 遗传算法优化BP神经网络,bp神经网络的优化算法
  18. 淘宝订单API接口获取订单
  19. ORAN C平面 Section Type 1
  20. 2019湖北省赛网络赛C Store CDQ分治

热门文章

  1. MySQL.. ERROR! The server quit without updating PID file问题解决
  2. spring boot log4j2与三方依赖库log4j冲突无法初始化问题解决方法
  3. 【白皮书分享】快手私域经营白皮书.pdf(附下载链接)
  4. 深度召回算法在字节跳动推荐系统的应用实践
  5. 如何自己找数据分析项目来做?
  6. Python实战从入门到精通第四讲——数据结构与算法2之实现一个优先级队列
  7. Facebook AI研究员田渊栋:2021年年终总结
  8. java循环语句_循环你都学会了,那if不是so easy了嘛
  9. 微信小程序在地图上标点 markers 画圈显示范围 circles
  10. Leetcode每日一题:53.maximum-subarray(最大子序和)