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

异常处理

捕捉异常可以使用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‘

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

时间: 2024-10-11 18:10:30

异常处理、模块包、时间模块、subprocess(调用shell命令)的相关文章

Python常用模块——包&跨模块代码调用

Python常用模块--包&跨模块代码调用 一.包(Package) 当你的模块文件越来越多,就需要对模块文件进行划分,比如把负责跟数据库交互的都放一个文件夹,把与页面交互相关的放一个文件夹. my_proj/ ├── apeland_web #代码目录 │ ├── __init__.py │ ├── admin.py │ ├── apps.py │ ├── models.py │ ├── tests.py │ └── views.py ├── manage.py └── my_proj #配置

Android调用shell命令时间系统时间的修改

============问题描述============ Android怎么调用shell命令来修改系统时间啊,用代码的 ============解决方案1============ Process process = Runtime.getRuntime().exec("su"); String datetime = "20131023.112800"; // 测试的设置的时间[时间格式 // yyyyMMdd.HHmmss] DataOutputStream os

python 调用shell命令三种方法

#!/usr/bin/python是告诉操作系统执行这个脚本的时候,调用/usr/bin下的python解释器: #!/usr/bin/env python这种用法是为了防止操作系统用户没有将python装在默认的/usr/bin路径里. python调用shell命令的方法有许多 1.1   os.system(command) 在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态.这实际上是使用C标准库函数system()实现的.这个函数在执行comman

python 调用shell命令的方法

在python程序中调用shell命令,是件很酷且常用的事情…… 1. os.system(command) 此函数会启动子进程,在子进程中执行command,并返回command命令执行完毕后的退出状态,如果command有执行内容,会在标准输出显示.这实际上是使用C标准库函数system()实现的. 缺点:这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果. 实例:os.system('ls -l *') 2. os.popen(command,

python调用shell命令

1.1   os.system(command) 在一个子shell中运行command命令,并返回command命令执行完毕后的退出状态.这实际上是使用C标准库函数system()实现的.这个函数在执行command命令时需要重新打开一个终端,并且无法保存command命令的执行结果. 1.2   os.popen(command,mode) 打开一个与command进程之间的管道.这个函数的返回值是一个文件对象,可以读或者写(由mode决定,mode默认是'r').如果mode为'r',可以

pycharm调用shell命令

在pycharm中调用shell命令 1. # -*- coding:UTF-8 -*- import subprocess subprocess.call(["ls /home"], shell=True) #subprocess.call(["cat /root/d.txt | grep hello"], shell=True) 执行结果 ssh://[email protected]:22/usr/bin/python -u /app/py_code/test

在android程序中调用shell命令与脚本

最近做android的一个功能就是调用shell命令来进行一些系统级别的操作,比如说是关机开机之类的,现在总结一下具体的用法以及遇到的坑(基于我所用到的,没用到的我就不说了) (1) Runtime.getRuntime().exec("ls"); 这是最简单的一种,你输入后就能就会执行ls命令,如果要获得输出的话可以这样写 Process p = Runtime.getRuntime().exec("ls"); String data = null; Buffer

【转载】如何在C语言中调用shell命令

转载自:http://blog.csdn.net/chdhust/article/details/7951576 如何在C语言中调用shell命令 在linux操作系统中,很多shell命令使用起来非常简单,这些shell命令的程序实现已经被底层实现好.有时候需要在程序中调用shell命令,这样可以就不用在控制台上手动输入shell命令了,下面就以三个函数为例来讲解如何在C语言中调用shell命令. 1.system(执行shell 命令) 相关函数 fork,execve,waitpid,po

Java调用Shell命令和脚本

1.介绍 有时候我们在Linux中运行Java程序时,需要调用一些Shell命令和脚本.而Runtime.getRuntime().exec()方法给我们提供了这个功能,而且Runtime.getRuntime()给我们提供了以下几种exec()方法: Process exec(String command) 在单独的进程中执行指定的字符串命令. Process exec(String[] cmdarray) 在单独的进程中执行指定命令和变量. Process exec(String[] cmd

iTOP-开发板-MiniLinux-C程序调用shell命令

本文档介绍的是在 linux 系统环境下 linux-C 调用 shell 命令实验步骤,和文档压缩包一起的"iTOP-开发板-MiniLinux-SHELL_V1.0.zip"是 c 程序源码.Linux 系统的 shell 作为操作系统的外壳,为用户提供使用操作系统的接口.它是命令语言.命令解释程序及程序设计语言的统称,它解释由用户输入的命令并且把它们送到内核.如下图所示,解压"iTOP-开发板-MiniLinux-SHELL_V1.0.zip",将解压后文件内