OS模块-sys模块-hashlib模块-logging模块

OS模块,sys模块,hashlib模块,logging模块
OS模块:
调用方法:import os
    1.os.getcwd():文件读取路径,获取当前工作目录
        print(os.getcwd())
    2.os.chdir():更改工作目录
        print(os.getcwd())
        os.chdir(r'E:\workspase')
        print(os.getcwd())
    3.os.curdir:返回当前目录:('.')
    4.os.pardir:获取当前目录的父目录字符串名:('..')
    5.os.makedirs('dirname1/dirname2'):可生成多层递归目录
        os.makedirs('abc\\eric\\edad')
    6.os.removedirs('dirname1'):若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
        os.removedirs('abc\\eric\\edad')
    7.os.mkdir('dirname'):生成单级目录;相当于shell中mkdir dirname
    8.os.rmdir('dirname'):删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
    9.os.listdir('dirname'):列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
    10.os.remove():删除一个文件(只能删除文件,不能删除文件夹)
    11.os.rename("oldname","newname"):重命名文件/目录
    12.os.stat('path/filename'):获取文件/目录信息,文件大小等信息
    13 os.sep    输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
    14 os.linesep    输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
    15 os.pathsep    输出用于分割文件路径的字符串
    16 os.name    输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
    17 os.system("bash command")  运行shell命令,直接显示
    18 os.environ  获取系统环境变量
    19 os.path.abspath(path)  返回path规范化的绝对路径
    20 os.path.split(path)  将path分割成目录和文件名二元组返回
    21 os.path.dirname(path)  返回path的目录。其实就是os.path.split(path)的第一个元素
    22 os.path.basename(path)  返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
    23 os.path.exists(path)  如果path存在,返回True;如果path不存在,返回False
    24 os.path.isabs(path)  如果path是绝对路径,返回True
    25 os.path.isfile(path)  如果path是一个存在的文件,返回True。否则返回False
    26 os.path.isdir(path)  如果path是一个存在的目录,则返回True。否则返回False
    27 os.path.join(path1[, path2[, ...]])  将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
        os.path.join([path1,path2])
    28 os.path.getatime(path)  返回path所指向的文件或者目录的最后存取时间
    29 os.path.getmtime(path)  返回path所指向的文件或者目录的最后修改时间
Python解释器进行交互
sys模块:
调用方法:import sys
    1.sys.argv:sys.文件名,传入参数决定连接 命令行参数List,第一行元素是程序本身路径
        import sys
        print(sys.argv)
        def post():
            print('ok')
        def download():
            pass
        if sys.argv[1]=='post':
            post()
        elif sys.argv[1]=='dongload':
            download()
    2.sys.exit(n):退出程序,正常退出时exit(0)
    3.sys.version:获取Python解释程序的版本信息
    4.sys.maxint:最大的Int值
    5.sys.path:返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
        import time
        print(sys.path)#模块所在的路径
    6.sys.platform:返回操作系统平台名称
    7.sys.stdout.write('please:'):标准输出
hashlib模块(加密)
调用方法:import hashlib
    1.m=hashlib.md5():以md5算法进行加密
        import hashlib
        m=hashlib.md5()#md5是一种加密方式
        print(m)
        m.update('hellow word'.encode('utf8'))#编码转换万国码转换为utf-8(Python3里面只有两种字节,不默认utf8去编码)
        print(m.hexdigest())#dd732b9d329447fb9b2d50a1dee7b931
        m.update('eric'.encode('utf8'))#在原有基础上添加了‘eric’然后再整体加密
        print(m.hexdigest())
        m2=hashlib.md5()
        m2.update('hellow worderic'.encode('utf8'))
        print(m2.hexdigest())
    2.s=hashlib.sha3_256():sha是个系列常用256,这系列是用的比较多,重要
        import hashlib
        s=hashlib.sha3_256()
        s.update('hellow word'.encode('utf8'))
        print(s.hexdigest())
logging模块
调用方法:import logging(用控制台显示日志信息)
    1.logging.debug()
    2.logging.info()
    3.logging.warning()
    4.logging.error()
    5.logging.critical()
    (1)basicConfig 格式(控制台输出日志信息)日志格式的修改:logging.basicConfig()
        import logging
        logging.debug('debug message')
        logging.info('info message')
        logging.warning('warning message')
        logging.error('error message')
        logging.critical('critical message')
    (2)自动创建一个文件存储日志(用文件显示日志信息)
        import logging
        logging.basicConfig(level=logging.DEBUG,
                        format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                        datefmt='%a, %d %b %Y %H:%M:%S',
                        filename='test.log',
                        filemode='w')#配置日志级别,日志格式,输出位置
        #level 级别
        #format 格式 打印格式 = asctime时间 filename文件名 (lineno行号) levelname级别名字 message内容
        #datefmt 时间格式
        #filename 文件名
        #filemode 文件模式
        logging.debug('Debug message')
        logging.info('info message')
        logging.warning('warning message')
        logging.error('error message')
        logging.critical('critical message')
注:w每次会对文件重写,所以多用a去追加内容(一个文件存储所有日志内容)
    (3)logger:控制台和文件都显示出日志信息
        import logging
        logger = logging.getLogger()
        #创建一个handler用于写入日志文件
        fh = logging.FileHandler('text.log')
        #再创建一个handler文件输出控制台
        ch = logging.StreamHandler()
        formatter = logging.Formatter('%(asctime)s %(filename)s %(levelname)s %(message)s')
        fh.setFormatter(formatter)#传入对象,获取规定格式
        ch.setFormatter(formatter)#传入对象,获取规定格式
        logger.addHandler(fh)#用addHandler去辨别用那种格式输出(文件)
        logger.addHandler(ch)#用addHandler去辨别用那种格式输出(控制台)
        logger.setLevel(logging.DEBUG)#更改文件日志显示级别(控制台和文件都显示全部内容)
        logger.debug('Debug message')
        logger.info('info message')
        logger.warning('warning message')
        logger.error('error message')
        logger.critical('critical message')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值