异常处理与内建模块

一、异常处理

1.1、异常常用格式

try:      #try接代码块,如果代码正常则不执行except块    print(2/0)except Exception as e:   #except捕获异常,Exception指所有异常    print("除数不能为0")    raise e               #抛出异常finally:            #finally不管有没有异常都会执行,这个按照需要使用    print("不管有没有发生异常,都得执行这个")

1.2、rest接口(定义显示异常的详细信息)

import jsondef rest():    result = dict()    #rest以字典形式展现    try:        print(2/0)    except Exception as e:        result["msg"] = "除数不能为0"        result["code"] = 403        result["data"] = [{"a":1}, {"b":2}]    finally:        return json.dumps(result)if __name__ == ‘__main__‘:    print(rest())
输出:{‘msg‘: ‘除数不能为0‘, ‘code‘: 403, ‘data‘: [{‘a‘: 1}, {‘b‘: 2}]}

二、内建模块

Python之所以自称“batteries included”,就是因为内置了许多非常有用的模块,无需额外安装和配置,即可直接使用。

2.1、datetime模块

datetime是Python处理日期和时间的标准库

①、获取当前时间:

from datetime import datetime

now = datetime.now()print(now)

注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import datetime导入的才是datetime这个类。

如果仅导入import datetime,则必须引用全名datetime.datetime

datetime.now()返回当前日期和时间,其类型是datetime

②、获取固定的参数

from datetime import datetime, timedelta

print(datetime.now().year)          #年print(datetime.now().month)         #月print(datetime.now().day)           #日print(datetime.now().hour)          #时print(datetime.now().minute)        #分print(datetime.now().second)        #秒print(datetime.now().microsecond)   #毫秒print(datetime.now().strftime("%Y-%m-%d"))      #固定格式的年月日,是由时间转换为字符串格式
print(datetime.now().strptime("2018-04-22", "%Y-%m-%d")) #将"2018-04-22"这个字符串转化为时间类型

%Y 带世纪部分的十制年份;%m 十进制表示的月份;%d 十进制表示的每月的第几天;%H 24小时制的小时;%M 十进制表示的分钟数;%S 十进制的秒数;%c 标准时间,如:04/25/17 14:35:14,;%a 本地简化星期名称;%b 本地简化月份名称;%d 一个月中的第几天(01-31)

③、在当前时间上面做增减

对日期和时间进行加减实际上就是把datetime往后或往前计算,得到新的datetime。加减可以直接用+-运算符,不过需要导入timedelta这个类:

from datetime import datetime, timedelta

now = datetime.now()
print(now - timedelta(weeks=1))   #只能限制在星期、天数和小时数上增减print(now - timedelta(days=1))    #只能限制在星期、天数和小时数上增减print(now - timedelta(hours=1))   #只能限制在星期、天数和小时数上增减

2.2、time模块

①、间隔多久后执行

import time

time.sleep(5)     #以秒数计算print("hello")

②、时间戳(从1970-01-01开始到现在的秒数)

import time

print(time.time())

2.3、commands模块(调用linux系统命令,这是linux下面独有的模块,而通用的的是subprocess模块)

①、commands.getoutput(cmd)  返回结果为cmd命令执行完的结果

②、status,output = commands.getstatusoutput(cmd)          commands.getstatusoutput(cmd)的返回结果就是一个tuple,第一个值得shell执行的结果,如果shell执行成功,返回0,否则为非0,第二个是一个字符串,就是我们shell命令的执行结果,python通过一一对应的方式复制给status和output,就是这个python语言的巧妙之处

③、示例

In [5]: commands.getoutput("ifconfig | grep eth")
Out[5]: ‘eth1      Link encap:Ethernet  HWaddr 00:50:56:88:53:53  ‘

In [6]: commands.getstatusoutput("ifconfig | grep eth")
Out[6]: (0, ‘eth1      Link encap:Ethernet  HWaddr 00:50:56:88:53:53  ‘)

三、模块和目录的区别

看是否是模块主要是看目录里面有没有__init__.py这个文件,模块是可以被其他文件跨目录调用的,而目录则不可以

原文地址:https://www.cnblogs.com/Jweiqing/p/8922591.html

时间: 2024-10-07 09:09:45

异常处理与内建模块的相关文章

python基础-常用内建模块

一.collections:内建集合模块. 1.namedtuple:创建一个自定义的tuple对象 2.deque:为了高效实现插入和删除操作的双向列表,适合用于队列和栈 3.defaultdict:Key不存在时返回默认值 4.OrderedDict:保持Key的顺序 5.Counter:一个简单的计数器 二.base64 : 一种用64个字符来表示任意二进制数据的方法 三.struct : str和其他二进制数据类型的转换 四.hashlib : 提供常见的摘要算法,如MD5,SHA1 五

Python3 内建模块 hashlib、itertools、HTMLParser、urllib

Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等. 什么是摘要算法呢?摘要算法又称哈希算法.散列算法.它通过一个函数,把任意长度的数据转换为一个长度固定的数据串(通常用16进制的字符串表示). 举个例子,你写了一篇文章,内容是一个字符串'how to use python hashlib - by Michael',并附上这篇文章的摘要是'2d73d4f15c0db7f5ecb321b6a65e5d6d'.如果有人篡改了你的文章,并发表为'how to use pytho

基础入门_Python-模块和包.运维开发中内建模块getopt的最佳实践?

简单介绍: 此模块提供命令行选项解析,目前支持短格式和长格式选项 快速安装: 说明:  内建模块无需安装 解析方法: getopt(args, shortopts, longopts = []) -> (opts, args) 说明: args为要解析的参数序列,常为sys.argv[1:],shortopts为单字符选项定义串,如果某个选项需要一个参数,响应字母后面必须有一个冒号,longopts为长格式的选项名序列,可以包含多个字符,序列元素必须包含--前缀,如果此长选项需要参数则其名应包含

Python3 内建模块 datetime/collections/base64/struct

datetime 我们先看如何获取当前日期和时间: >>> from datetime import datetime >>> now = datetime.now() # 获取当前datetime >>> print(now) 2015-05-18 16:28:07.198690 >>> print(type(now)) <class 'datetime.datetime'> 注意到datetime是模块,datetim

Python内建模块--collections

python内建模块--collections collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: >>> p = (1, 2) 但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的. 定义一个class又小题大做了,这时,namedtuple就派上了用场: >>> from collections import namedtupl

Python常用的内建模块

PS:Python之所以自称“batteries included”,就是因为内置了许多非常有用的模块,无需额外安装和配置,即可直接使用.下面就来看看一些常用的内建模块. datetime dateime是Python中处理日期和时间的标准库. 获取当前日期和时间 原文地址:https://www.cnblogs.com/yunche/p/8999052.html

Python常用内建模块

collections: collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple  它用来创建一个自定义的tuple对象,并且规定了tuple元素的个数,并可以用属性而不是索引来引用tuple的某个元素 deque  deque是为了高效实现插入和删除操作的双向列表,适合用于队列和栈 defaultdict  Key不存在时返回默认值,不会报错 OrderedDict  保持Key的顺序 Counter  一个简单的计数器

四十二 常用内建模块 collections

collections是Python内建的一个集合模块,提供了许多有用的集合类. namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: >>> p = (1, 2) 但是,看到(1, 2),很难看出这个tuple是用来表示一个坐标的. 定义一个class又小题大做了,这时,namedtuple就派上了用场: >>> from collections import namedtuple >>> Point = n

python中常用的内建模块

[datetime] datetime是python处理日期和时间的标准库 获取当前日期和时间 我们先看如何获取当前日期和时间: 注意到datetime是模块,datetime模块还包含一个datetime类,通过from datetime import datetime导入的才是datetime这个类. 如果仅导入import datetime,则必须引用全名datetime.datetime. datetime.now()返回当前日期和时间,其类型是datetime. 获取指定日期和时间 要