码迷,mamicode.com
首页 > 系统相关 > 详细

异常处理、模块包、时间模块、subprocess(调用shell命令)

时间:2018-04-28 16:58:48      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:模块

异常处理

捕捉异常可以使用try/except语句。
try/except语句用来检测try语句块中的错误,从而让except语句捕获异常信息并处理。
如果你不想在异常发生时结束你的程序,只需在try里捕获它。

更多的异常关键字:
http://www.runoob.com/python/python-exceptions.html

Exception:常规错误的基类
IOError:输入/输出操作失败
例子1:写入信息到tt.txt文件中,如果报错,就打印错误

try:
    with open(‘tt.txt‘) as fd:
        fd.write(‘123\n456‘)
except IOError as t:
    print(‘Error:该文件不存在‘)
else:
    print(‘写入成功‘)

例子2:
通过json对象返回

import json
def test():
    result = dict()
    try:
        print(2/0)
    except Exception as a:
        result["msg"] = "除数不能为0"
        result["code"] = 403
        result["data"] = [{"a": 1}, {"b": 2}]
    finally:
        print(type(json.dumps(result)))
        json_str=json.dumps(result,ensure_ascii=False)
        return json_str

if __name__ == ‘__main__‘:
    print(test())

模块包的导入

from 目录名 import 函数名

调用:
函数名.函数(方法)

新建模块包:
1、新建一个product_oss 项目目录

2、新建一个模块包为test1,里面多了一个init.py 的空的文件

技术分享图片

3、在test1 目录中新建main.py

def add_num(x,y):
return x + y

if name == ‘main‘:
add_num(1,2)

4、在product_oss 目录下新建 test.py

5、目录结构如下:

技术分享图片

6、在test.py 中到导入main.py 的方法

from test1 import main as tt

print(tt.add_num(10,10))

时间模块

1、导入模块
from datetime import datetime, timedelta
2、print(datetime.now())
2018-04-28 12:14:21.867118 #年-月-日 小时:分钟:秒:毫秒

3、显示年-月-日,小时,分钟,秒,毫秒
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)

4、显示年月日-小时-分钟-秒
print(datetime.now().strftime("%Y-%m-%d_%H:%M:%S"))
2018-04-28_12:17:03

5、后3个小时
In [12]: nowTime = datetime.now()

In [13]: nowTime += timedelta(hours=+3)

In [14]: print(nowTime)
2018-04-28 17:33:19.152888

time模块
In [15]: import time

时间戳:从1970-01-01 开始,到现在的秒数
In [16]: print(time.time())
1524897275.16

In [17]: print(time.ctime())
Sat Apr 28 14:35:14 2018

调用linux系统的命令
标准输出传给管道(PIPE)

from subprocess import Popen,PIPE

In [52]: subprocess.call(‘ls /root‘,shell=True)
123.txt anaconda-ks.cfg python shell test venv
Out[52]: 0

In [47]: PP=Popen([‘ls‘,‘/root‘],stdout=PIPE)
In [48]: tt=PP.stdout.read().strip()
In [49]: tt
Out[49]: ‘123.txt\nanaconda-ks.cfg\npython\nshell\ntest\nvenv‘

异常处理、模块包、时间模块、subprocess(调用shell命令)

标签:模块

原文地址:http://blog.51cto.com/jacksoner/2108890

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!