一、日志记录模块 logging
logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等级、日志保存路径、日志文件回滚等。
1、日志的级别(大写字母):一般清下只有警告和错误才会显示。
DEBUG:详细的信息,通常只出现在诊断问题上。
INFO:确认一切按预期运行
WARNING:一个警告,可能会有一些意想不到的事情发生了,或表明一些问题在不久的将来
(例如。磁盘空间低”)。这个软件还能按预期工作。
ERROR:更严重的问题,软件没能执行一些功能
CRITICAL:一个严重的错误,这表明程序本身可能无法继续运行
2、日志级别的关系
CRITICAL > ERROR > WARNING > INFO > DEBUG > NOTSET
3、系统默认只打印 WARNING 及其以上的级别。(一般使用默认即可)
示例
结果
4、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() 的参数一样。
5、日志记录器 logger
Logger从来不直接实例化,经常通过logging模块级方法logging.getLogger(name)来获得,其中如果name不给定就用root。
二、OS模块
1、os.name 如果结果为nt,为windows系统;结果为posix,则为Linux/Unix系统
2、os.system() 执行系统命令,但是没有返回结果
3、os.listdir(path) 返回指定目录下的所有文件和目录名。
4、os.getcwd() 得到当前工作目录,即当前Python脚本工作的目录路径
5、os.linesep 给出当前平台使用的换行符。例如,Windows使用'\r\n',Linux使用'\n'而Mac使用'\r'
6、os.remove(path) 用来删除一个文件
7、os.chdir(dirname) 改变工作目录到dirname
8、os.mkdir("dirname") 生成单级目录;相当于shell中mkdir dirname
9、常用的语句:如果没有改文件,则创建改文件
10、os.path.abspath("./") 绝对路径
三、sys 模块
四、random 模块:返回随机生成的一个实数
1、随机整数 random.randint(a,b) a,b之间随机取一个整数
2、随机浮点数 random.uniform(0,2.5)
3、从指定sequence中随机获取指定长度的片断并随机排列。random.sample(sequence, k)
sample函数不会修改原来的list。
参数sequence表示一个有序类型。从序列中获取一个随机元素.sequence在python不是一种特定的类型,而是泛指一系列的类型。list, tuple, 字符串都属于sequence。K 指定长度。
4、将列表内的元素随机排列 random.shuffle(x[, random])
5、从指定范围内,按指定基数递增的集合中 获取一个随机数 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)) 等效。
6、从序列sequence中获取一个随机元素 random.choice(sequence)
list, tuple, 字符串都属于sequence。
示例
结果
7、实例:掷骰子,看1--6随机出现的次数
结果
五、string模块:主要用于对字符串进行操作。
1、string.ascii_letters 生成所有字母,从a-z 和A-Z
2、string.digits 生成所有数字,从0-9
3、string.ascii_lowercase 生成所有小写字母
4、string.ascii_uppercase 生成所有大写字母
5、string.printable 生成所有可打印字符
6、string.punctuation 生成所有特殊字符
7、string.hexdigits 生成十六进制数字
示例
结果
来源:oschina
链接:https://my.oschina.net/u/3821557/blog/1800627