python基础——logging、OS、sys、random、string模块(0424)

1、日志记录模块  loggingpython

     logging模块是Python内置的标准模块,主要用于输出运行日志,能够设置输出日志的等级、日志保存路径、日志文件回滚等。git

一、日志的级别(大写字母):通常清下只有警告和错误才会显示。shell

           DEBUG:详细的信息,一般只出如今诊断问题上。windows

           INFO:确认一切按预期运行app

           WARNING:一个警告,可能会有一些意想不到的事情发生了,或代表一些问题在不久的未来dom

                 (例如。磁盘空间低”)。这个软件还能按预期工做。函数

           ERROR:更严重的问题,软件没能执行一些功能spa

           CRITICAL:一个严重的错误,这代表程序自己可能没法继续运行日志

二、日志级别的关系orm

          CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET

三、系统默认只打印 WARNING 及其以上的级别。(通常使用默认便可)

    示例

    结果

四、logging.basicconfig() 函数

  格式为logging.basicconfig(level=logging.WARNING,format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',datefmt=' %Y/%m/%d %H:%M:%S', filename='myapp.log', filemode='w')

     该函数的可选参数为 filename指定日志文件名;filemode指定日志文件打开的模式 w或a;level指定日志级别,默认为logging.WARNING(须要注意的是级别必须大写);format指定输出的格式和内容、datefmt指定时间格式。

    示例

    结果

    4.1 更改日志打印级别:level 设置为 DEBUG 级别,此时打印的结果最全。

    示例

    结果

    4.2  format 输出格式参数

          

    4.3 日志时间格式化 datefmt :该函数的参数通time() 的参数同样。

五、日志记录器 logger

     Logger历来不直接实例化,常常经过logging模块级方法logging.getLogger(name)来得到,其中若是name不给定就用root。

2、OS模块

一、os.name   若是结果为nt,为windows系统;结果为posix,则为Linux/Unix系统

二、os.system()   执行系统命令,可是没有返回结果

三、os.listdir(path)    返回指定目录下的全部文件和目录名。

四、os.getcwd()    获得当前工做目录,即当前Python脚本工做的目录路径

五、os.linesep   给出当前平台使用的换行符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'

六、os.remove(path)  用来删除一个文件

七、os.chdir(dirname)  改变工做目录到dirname

八、os.mkdir("dirname") 生成单级目录;至关于shell中mkdir dirname

九、经常使用的语句:若是没有改文件,则建立改文件

     

十、os.path.abspath("./")      绝对路径

3、sys  模块

4、random 模块:返回随机生成的一个实数

一、随机整数    random.randint(a,b)           a,b之间随机取一个整数

二、随机浮点数   random.uniform(0,2.5)

三、从指定sequence中随机获取指定长度的片段并随机排列。random.sample(sequence, k)

     sample函数不会修改原来的list。

     参数sequence表示一个有序类型。从序列中获取一个随机元素.sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。K 指定长度。

四、将列表内的元素随机排列   random.shuffle(x[, random])

五、从指定范围内,按指定基数递增的集合中 获取一个随机数 random.randrange([start], stop[, step])

    random.randrange(10, 30, 2)结果至关于从[10, 12, 14, 16, ... 26, 28]序列中获取一个随机数。                   random.randrange(10, 30, 2)在结果上与 random.choice(range(10, 30, 2)) 等效。

六、从序列sequence中获取一个随机元素   random.choice(sequence)  

    list, tuple, 字符串都属于sequence。

   示例

   结果

七、实例:掷骰子,看1--6随机出现的次数

结果

5、string模块:主要用于对字符串进行操做。

一、string.ascii_letters  生成全部字母,从a-z 和A-Z

二、string.digits   生成全部数字,从0-9

三、string.ascii_lowercase   生成全部小写字母

四、string.ascii_uppercase  生成全部大写字母

五、string.printable    生成全部可打印字符

六、string.punctuation   生成全部特殊字符

七、string.hexdigits    生成十六进制数字

示例

结果

相关文章
相关标签/搜索