python 基础语法梳理(二)

1、gevent使用

# -*- coding: utf-8 -*-

import gevent
import platform

from gevent import subprocess

def _test_shell(script):

    excute_data=[];
    err_data=[];

    if platform.system() == "Windows":

        popen = subprocess.Popen(script,             shell=False, stdout=subprocess.PIPE, stderr=subprocess.PIPE)

        excute_data = popen.stdout.readlines()

        err_data = popen.stderr.readlines()

        for msg_line in excute_data:
            print "return: %s" %(msg_line.strip())

        for err_line in err_data:
            print "err:%s" %(err_line.strip())

def talk(msg):
    print(msg) 

def _test_spwan():

    gevent.spawn(talk,"Fredirc")

if __name__ == ‘__main__‘:

    _test_shell(‘java -version‘)

    _test_spwan()

    gevent.sleep(0.5)

    #上面例子打印输出
    #err:java version "1.6.0_37"
    #err:Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
    #err:Java HotSpot(TM) Client VM (build 20.12-b01, mixed mode, sharing)
    #Fredirc

2、logging使用

import logging
import os
from logging import FileHandler

def get_logger():
    logger = logging.getLogger(‘fredric_file‘)
    log_format = ‘%(asctime)s %(filename)s %(lineno)d %(levelname)s %(message)s‘
    formatter = logging.Formatter(log_format)
    logfile = os.path.join(os.path.dirname(os.path.abspath(__file__)), ‘log‘, ‘fredric_log.log‘)
    handler = FileHandler(logfile, "a")
    handler.setFormatter(formatter)
    logger.addHandler(handler)
    logger.setLevel(logging.ERROR)
    return logger

def get_logger_console():
    logger = logging.getLogger("fredric_console")
    log_format = ‘%(asctime)s %(filename)s %(lineno)d %(levelname)s %(message)s‘
    formatter = logging.Formatter(log_format)
    console = logging.StreamHandler()
    console.setFormatter(formatter)
    logger.addHandler(console)
    logger.setLevel(logging.DEBUG)
    return logger

logger_file = get_logger()
logger_console = get_logger_console()

if __name__ == ‘__main__‘:

    logger_file.error("fiel error")
    logger_console.error("console error")

    logger_file.info("fiel error")
    logger_console.info("console error")

3、imp使用(类似JAVA反射)

# -*- coding: utf-8 -*-

import imp

if __name__ == ‘__main__‘:

    #获取这个模块
    module = imp.load_module("Test", *imp.find_module("test", ["./"]))

    #实例化这个模块中的类
    temp=module.__getattribute__("Test")();

    #执行类包含的方法
    temp.do_staff() #打印:do_staff: Test Class

    print temp.__str__() #打印:to_string:Test Class
    
时间: 2024-10-19 22:06:13

python 基础语法梳理(二)的相关文章

python基础语法(二)

------------------------------------------接 Python 基础语法(一) -------------------------------------------- 2. 元组 tuple和list十分相似,但是tuple是不可变的,即不能修改tuple,元组通过圆括号中用逗号分割的项定义:支持索引和切片操作:可以使用 in 查看一个元素是否在tuple中.空元组():只含有一个元素的元组("a",) #需要加个逗号 优点:tuple比list

Python 基础语法(二)

Python 基础语法(二) --------------------------------------------接 Python 基础语法(一) -------------------------------------------- 2. 元组 tuple和list十分相似,但是tuple是不可变的,即不能修改tuple,元组通过圆括号中用逗号分割的项定义:支持索引和切片操作:可以使用 in 查看一个元素是否在tuple中.空元组():只含有一个元素的元组("a",) #需要加

python之最强王者(2)——python基础语法

背景介绍:由于本人一直做java开发,也是从txt开始写hello,world,使用javac命令编译,一直到使用myeclipse,其中的道理和辛酸都懂(请容许我擦干眼角的泪水),所以对于python学习,直接使用pycharm IDE开发. 一.第一个python程序 按照套路,入我编程界的门,必须得遵守门规,先来个hello,world,先干为敬! 客官请看图: 运行结果如下图: 看到这里不知道你想说什么,但是我只能说 想一下,java写出一个hello,world得有main方法吧,这得

Python基础语法(转)

作者:Peter 出处:http://www.cnblogs.com/Peter-Zhang/ Python 基础语法(一) Python的特点 1. 简单 Python是一种代表简单思想的语言. 2. 易学 Python有极其简单的语法. 3. 免费.开源 Python是FLOSS(自由/开放源码软件)之一. 4. 高层语言 使用Python编写程序时无需考虑如何管理程序使用的内存一类的底层细节. 5. 可移植性 Python已被移植到很多平台,这些平台包括Linux.Windows.Free

Python 基础语法(四)

Python 基础语法(四) --------------------------------------------接 Python 基础语法(三)-------------------------------------------- 十.Python标准库 Python标准库是随Pthon附带安装的,包含了大量极其有用的模块. 1. sys模块 sys模块包含系统对应的功能 sys.argv ---包含命令行参数,第一个参数是py的文件名 sys.platform ---返回平台类型 sy

Python 基础语法(三)

Python 基础语法(三) --------------------------------------------接 Python 基础语法(二)-------------------------------------------- 七.面向对象编程 python支持面向对象编程:类和对象是面向对象编程的两个主要方面,类创建一个新的类型,对象是这个类的实例. 对象可以使用普通的属于对象的变量存储数据,属于对象或类的变量被称为域:对象也可以使用属于类的函数,这样的函数称为类的方法:域和方法可

python基础语法(一)

Python的特点 1. 简单 Python是一种代表简单思想的语言. 2. 易学 Python有极其简单的语法. 3. 免费.开源 Python是FLOSS(自由/开放源码软件)之一. 4. 高层语言 使用Python编写程序时无需考虑如何管理程序使用的内存一类的底层细节. 5. 可移植性 Python已被移植到很多平台,这些平台包括Linux.Windows.FreeBSD.Macintosh.Solaris.OS/2.Amiga.AROS.AS/400. BeOS.OS/390.z/OS.

python基础语法(三)

--------------------------------------------接 Python 基础语法(二)-------------------------------------------- 七.面向对象编程 python支持面向对象编程:类和对象是面向对象编程的两个主要方面,类创建一个新的类型,对象是这个类的实例. 对象可以使用普通的属于对象的变量存储数据,属于对象或类的变量被称为域:对象也可以使用属于类的函数,这样的函数称为类的方法:域和方法可以合称为类的属性. 域有两种类

Python基础知识梳理 - 第01部分

在开始Python基础知识梳理前, 先安装下环境. 以下过程是在Linux操作系统, root用户下进行的, 主要安装了2.7版本的python, 和pip, ipython, virtualenv等工具, 最后是vim的设置. 1. 安装python. # wget https://www.python.org/ftp/python/2.7.14/Python-2.7.14.tgz Python-2.7.14 # ./configure --prefix=/usr/local/python27