python常用模块

  1. logging
    日志是我们排查问题的关键利器,写好日志记录,当我们发生问题时,可以快速定位代码范围进行修改
    logging将日志打印到屏幕,日志级别大小关系为:
    CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET,当然也可以自己定义日志级别
    默认logging默认的日志级别是info
    日志的输出格式及方式 logging.basicConfig

    import logging
    logging.basicConfig(level=logging.DEBUG, format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',datefmt=' %Y/%m/%d %H:%M:%S', filename='myapp.log', filemode='w')
    logger = logging.getLogger(__name__)
    logging.debug('This is debug message')
    logging.info('This is info message')
    logging.warning('This is warning message')
    logging.getLogger([name]):创建一个日志对象
    返回一个logger实例,如果没有指定name,返回root
    logger,只要name相同,返回的logger实例都是同一个而且只有一个,即name和logger实例是一一对应的。这意味着,无需把logger实例在各个模块中传递。只要知道name,就能得到同一个logger实例。
    logging.getLogger(name) 在上述实例中__name__就指的是__main__。


  2. OS模块
    可以通过os模块调用系统命令,获得路径,获取操作系统的类型等都是使用该模块。
    a、通过os 获取系统类型:os.name()
    import os
    print(os.name)
    b、执行系统命令:
    os.system('命令') 只会调用系统的命令
    os.popen('命令') os.popen方法,os.popen()返回的是一个file对象
    c、目录和文件相关操作
    os.getcwd() : 获取路径
    os.chdir() : 切换目录
    os.listdir() : 列出目录文件 返回一个列表
    os.mkdir() : 创建目录
    os.remove() : 删除目录下的文件
    os.linesep : 打印操作系统的分隔符
    os.path.join(os.getcwd(), 'aaa', ‘bbb’, ‘ccc’) : 拼接出来多级目录
    os.path.split('文件或者目录'): 把最后文件和目录分开
    os.path.splitext('文件') : 把文件的后缀名和前面分开,返回一个tuple
    os.path.splitdrive('目录') : 目录和后面分开

  3. command模块
    通过python调用系统命令 只适用于linux。
    commands是提供linux系统环境下支持使用shell命令的一个模块。
    commands.getoutput(cmd),只返回执行shell命令的结果。

    import commands
    
    cmd = 'ls /opt'
    a = commands.getoutput(cmd)
    print(type(a))
    print(a)
    commands.getstatusoutput(cmd)
    import commands
    cmd = 'ls /home/admin'
    c = commands.getstatusoutput(cmd)
    print(type(c))
    status, output = commands.getstatusoutput(cmd)
    print(status)
    print(output)
    print(type(output))
    返回结果是一个tuple,第一个值是shell执行的结果,如果shell执行成功,返回0,否则,为非0,第二个是一个字符串,就是我们shell命令的执行结果,python通过一一对应的方式复制给status和output。

  4. sys模块
    通过sys模块获取程序参数,python的sys模块默认是把第一个参数默认是程序本省,从第二个参数起都是代码后面跟着的参数,通过sys.arg[n]就可以获得传入到程序中的参数。
    import sys
    
    def usage():
        '''usage'''
        print 'Usage: %s %s %s %s' % (sys.argv[0], 'tokenid', 'Subject', 'Content')
        sys.exit()
    
    def main():
        if len(sys.argv) != 4:
            usage()
        else:
            print(sys.argv[0])
            print(sys.argv[1])
            print(sys.argv[2])
            print(sys.argv[3])
    if __name__ == "__main__":
        main()
    sys.stdin\stdout\stderr
    功能:stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或
    者以非标准的方式处理它们。
    sys.stdout 与print
    当我们在 Python 中打印对象调用 print obj 时候,事实上是调用了sys.stdout.write(obj+'\n'),print 将你需要的内容打印到了控制台,然后追加了一个换行符,print 会调用 sys.stdout 的 write 方法。
    捕获sys.exit(n)调用
    功能:执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用sys.exit函数,带有一个可选的整数参数返回给调用它的程序,表示你可以在主程序中捕获对sys.exit的调用。(0是正常退出,其他为异常)
    exitfunc()函数,及当执行sys.exit(1)的时候,调用exitfunc()函数 sys.exit(1)后面的内容就不会执行了,因为程序已经退出。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值