python的模块

logging模块

logging配置要点

日志级别对应有 5 个日志记录方法,分别为logger.debug,logger.info,logger.warning,logger.error,logger.critical。

  • logging打印日志的例子
import logging

logging.basicConfig(level=logging.DEBUG)
logger=logging.getLogger(__name__)
# print(logger)
logger.info("this is info")
logger.error("this is error")
logger.warn("this is warning")

#输出
INFO:__main__:this is info
ERROR:__main__:this is error
WARNING:__main__:this is warning

GetLogger()方法

这是最基本的入口,该方法参数可以为空,默认的logger名称是root,如果在同一个程序中一直都使用同名的logger,其实会拿到同一个实例,使用这个技巧就可以跨模块调用同样的logger来记录日志。

import logging
logger=logging.getLogger(__name__)
print(logger)

#输出
<Logger __main__ (WARNING)>

basicConfig 函数

  • basicConfig函数用来配置 RootLogger
    basicConfig 函数仅用来配置 RootLogger,rootLogger 是所有 Logger 的祖先 Logger,所以其他一切 Logger 会继承该 Logger 的配置。
    从上面的 basicConfig 源码看,它可以有六个关键字参数,分别为:
    filename:执行使用该文件名为 rootLogger 创建 FileHandler,而不是 StreamHandler
    filemode:指定文件打开方式,默认是”a”
    stream:指定一个流来初始化 StreamHandler。此参数不能和 filename 共存,如果同时提供了这两个参数,则 stream 参数被忽略
    format:为 rootLogger 的 handler 指定输出格式
    datefmt:指定输出的日期时间格式
    level:设置 rootLogger 的日志级别

  • 使用样例:

    logging.basicConfig(
    filename = './log.txt',
    filemode = 'a',
    #stream = sys.stdout,
    format = '%(levelname)s:%(message)s',
    datefmt = '%m/%d/%Y %I:%M:%S',
    level = logging.DEBUG
    )

    os模块

os常见的用法:

方法说明
os.mkdir创建目录
os.rmdir删除目录
os.rename重命名
os.remove删除文件
os.getcwd获取当前工作路径
os.walk遍历目录
os.path.join连接目录与文件名
os.path.split分割文件名与目录
os.path.abspath获取绝对路径
os.path.dirname获取路径
os.path.basename获取文件名或文件夹名
os.path.splitext分离文件名与扩展名
os.path.isfile判断给出的路径是否是一个文件
os.path.isdir判断给出的路径是否是一个目录

- os模块的例子

import os

# os.path.abspath:获取文件或目录的绝对路径
a=os.path.abspath("passwd")
print(a)

#os.path.dirname:获取文件或文件夹的路径
b=os.path.dirname('G:\python\passwd')
print(b)

#os.path.basename:获取文件名或文件夹名
c=os.path.basename('G:\python\passwd')
print(c)

#os.path.splitext:分离文件名与扩展名
d=os.path.splitext("G:\python\jiecheng.py")
print(d)

#os.path.split:分离目录与文件名
e=os.path.split("G:\python\jiecheng.py")
print(e)

#os.path.isfile/os.path.isdir 判断是不是文件和目录
f=os.path.isfile("G:\python\jiecheng.py")
print(f)

#os.walk遍历目录
for i,j,k in os.walk('G:/python/0test/'):
    print(i,j,k)

# 输出
G:\python\passwd
G:\python
passwd
('G:\\python\\jiecheng', '.py')
('G:\\python', 'jiecheng.py')
True
G:/python/0test/ [] ['1.txt', '2.txt']

sys模块

sys模块提供了一系列有关Python运行环境的变量和函数。

sys常见用法

sys.argv
可以用sys.argv获取当前正在执行的命令行参数的参数列表(list)。

变量解释
sys.argv[0]当前程序名
sys.argv[1]第一个参数
sys.argv[0]第二个参数

- sys.stdout 与 print
当我们在 Python 中打印对象调用 print obj 时候,事实上是调用了 sys.stdout.write(obj+’\n’)
print 将你需要的内容打印到了控制台,然后追加了一个换行符
print 会调用 sys.stdout 的 write 方法
以下两行在事实上等价:

sys.stdout.write('hello'+'\n')
print 'hello'

random模块

random常见的用法

import random

print(random.random())  # 随机产生[0,1)之间的浮点值
print(random.randint(1, 6))  # 随机生成指定范围[a,b]的整数
print(random.randrange(1, 3))  # 随机生成指定范围[a,b)的整数
print(random.randrange(0, 101, 2))  ##随机生成指定范围[a,b)的指定步长的数(2--偶数)
print(random.choice([1, 2, 3, 4]))  # 随机生成指定列表中的元素
print(random.choice(("abc", "123", "liu")))  # 随机生成指定元组中的元素
print(random.sample("hello", 3))  # 随机生成指定序列中的指定个数的元素
print(random.uniform(1, 10))  # 随机生成指定区间的浮点数  

#输出
0.10557607466809082
6
1
34
l
4
abc
['o', 'h', 'e']
9.632110532832225

string模块

string模块主要用于对字符串进行操作。string里的许多特性都已经移植到str和unicode对象的方法里去了。下面主要讨论下string模块的常用方法。

string常见用法

import string

# whitespace -- a string containing all ASCII whitespace
# ascii_lowercase -- a string containing all ASCII lowercase letters
# ascii_uppercase -- a string containing all ASCII uppercase letters
# ascii_letters -- a string containing all ASCII letters
# digits -- a string containing all ASCII decimal digits
# hexdigits -- a string containing all ASCII hexadecimal digits
# octdigits -- a string containing all ASCII octal digits
# punctuation -- a string containing all ASCII punctuation characters
# printable -- a string containing all ASCII characters considered printable

print(string.ascii_letters)
print(string.ascii_lowercase)
print(string.ascii_uppercase)
print(string.digits)
print(string.hexdigits)
print(string.octdigits)
print(string.punctuation)
print(string.printable)
print(string.whitespace)

#输出
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
abcdefghijklmnopqrstuvwxyz
ABCDEFGHIJKLMNOPQRSTUVWXYZ
0123456789
0123456789abcdefABCDEF
01234567
!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~    

打印4位数验证码

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值