Python第三方模块

Python第三方模块

一、logging日志记录模块
1.1 日志的几个级别

debug 所有
info 正常执行的
waring 警告
error 严重
critical 错误

1.2 打印日志消息
例1:

import logging
logger = logging.debug("this is debug.")
logger = logging.info("this is info.")
logger = logging.warning("this is warning.")
logger = logging.error("this is error.")
logger = logging.critical("this is critical.")

这里写图片描述

上面例子中,只打印出warning error critical的三种日志(这是系统默认的);我们可以通过调整日志级别()来打印:
使用 logging.basicConfig(level=logging.定义级别)

import logging

logging.basicConfig(level=logging.DEBUG)

logger = logging.debug("this is debug.")
logger = logging.info("this is info.")
logger = logging.warning("this is warning.")
logger = logging.error("this is error.")
logger = logging.critical("this is critical.")

这里写图片描述

可以看出设置DEBUG日志级别后则会显示所有级别的日志消息。

例2:也可以通过以下这种方式例子的方式,将日志消息以格式存放到一个文件里。

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')

执行后结果如下生成了一个myapp.log的文件记录了以 时间、行号、日志级别、日志描述消息:
这里写图片描述

二、os模块

1.1 os模块介绍

os.name #如果结果为nt,则为windows系统;如果结果为posix ,则为Unix系统
os.system(cmd) 执行系统命令,但是没有返回结果
os.listdir(“C:”) 显示当前路径下的目录文件,ls
os.chdir(“..”) 改变目录, cd、
os.getcwd() 显示当前目录 , pwd
os.remove(“”) #删除文件
os.rmdir(“”) #删除目录
os.rename(“”,”“) #修改文件名
os.linesep #显示换行符 windows换行符\n\r Linux的换行符\n Mac的换行符\r
print(os.path.abspath(“./”)) #显示当前目录的绝对路径

例1: 根据os.name的判断结果输出windows和unix下查看IP的命令

import os
if os.name == "nt":
    cmd = "ipconfig"
elif os.name == "posix":
    cmd = "ifconfig"
os.system(cmd)

打印出结果为windows的命令查看当前网络IP等信息:
这里写图片描述

三、sys模块

1.1 sys模块介绍

sys.argv[1] 传参
sys.stdout.write(“allalallala”) 打印结果”allalallala”

例1:将结果输出到一个文件

f = open("1.log","w")
sys.stdout = f
print("hello world")

默认情况下就是调用sys.stdout打印,现在指定了为到f,所以结果会输出到f赋值的文件1.log中。
这里写图片描述

四、random模块
1.1 介绍

random                                   随机模块
random.randint(a,b)                      a到b之间取整数
random.randrange(a,b,次数)                a到b之间间隔多少次位数取一次
print(random.sample([1,2,3,4,5,6,7],2))  随机取多少个,例如这里随机取172个数

例1:随机生成一个整数(1~100)

import random
print(random.randint(1,100))

这里写图片描述

例2:统计随机1000次后,骰子1~6出现的次数分别是多少

class NumberCount(object):
    def __init__(self):
        self.number1 = 0
        self.number2 = 0
        self.number3 = 0
        self.number4 = 0
        self.number5 = 0
        self.number6 = 0
    def count(self):
        for i in range(1,1001):
            number = random.randint(1,6)
            if number == 1:
                self.number1 += 1
            if number == 2:
                self.number2 += 1
            if number == 3:
                self.number3 += 1
            if number == 4:
                self.number4 += 1
            if number == 5:
                self.number5 += 1
            if number == 6:
                self.number6 += 1
    def getResult(self):
        print("1出现的次数:{0}".format(self.number1))
        print("2出现的次数:{0}".format(self.number2))
        print("3出现的次数:{0}".format(self.number3))
        print("4出现的次数:{0}".format(self.number4))
        print("5出现的次数:{0}".format(self.number5))
        print("6出现的次数:{0}".format(self.number6))
if __name__ == "__main__":
    numbercount = NumberCount()
    numbercount.count()
    numbercount.getResult()

这里写图片描述

例3:随机取列表中的4位数

print (random.sample([1,2,3,4,5,6,7],4))

这里写图片描述

五、string模块

1.1 介绍

string                                  #多用于随机生成验证码
print(string.ascii_letters)             #ascii码字母大小写
print(string.digits)                    #数字
print(string.ascii_lowercase)           #英文字母小写
print(string.ascii_uppercase)           #英文字母大写
print(string.printable)                 #可打印出来的所有字符
print(string.punctuation)               #特殊字符
print(string.hexdigits)                 #16进制

这里写图片描述

例1:随机列出6位验证码(含英文和数字)

import string
import random
print ("".join(random.sample(string.ascii_letters + string.digits,6)))

这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值