python入门(九)常用模块

python的常用模块很多
比如日志模块logging
调用日志模块

import logging

级别高低顺序: DEBUG < INFO < WARNING < ERROR < CRITICAL
默认从warning以后包含warning开始打印
如果想打印全面,可以调整默认的模版

import logging
logging.basicConfig(level=logging.DEBUG)

可以随意定义
也可以自己定义打印的级别,比如输出某个字符串,我定义这个输出为WARNING级别

logger = logging.getLogger(__name__)     
logger.error("这是错误")
logger.info("这是输出信息")

默认的模版包含基本的level和信息
也可以使用以下的信息

%(name)s Logger的名字

%(levelno)s 数字形式的日志级别

%(levelname)s 文本形式的日志级别

%(pathname)s 调用日志输出函数的模块的完整路径名,可能没有

%(filename)s 调用日志输出函数的模块的文件名

%(module)s 调用日志输出函数的模块名|

%(funcName)s 调用日志输出函数的函数名|

%(lineno)d 调用日志输出函数的语句所在的代码行

%(created)f 当前时间,用UNIX标准的表示时间的浮点数表示|

%(relativeCreated)d 输出日志信息时的,自Logger创建以来的毫秒数|

%(asctime)s 字符串形式的当前时间。默认格式是“2003-07-08 16:49:45,896”。逗号后面的是毫秒

%(thread)d 线程ID。可能没有

%(threadName)s 线程名。可能没有

%(process)d 进程ID。可能没有

%(message)s 用户输出的消息

os模块
因为python是跨平台的代码,所以我们想让我们的程序跟平台无关,那么这个模块就很重要
常用函数
os.name
输出当前平台,window 用'nt'表示,对于Linux/Unix用户,用posix表示
os.getcwd()
当前的工作目录
os.listdir()
返回指定目录下的文件和目录
os.system()
运行系统命令
os.linesep
字符串给出当前平台使用的行终止符
os.sep
返回操作系统的路径分割符。
os.chdir(path)
切换目录
os.path.isfile()和os.path.isdir()函数分别检验给出的路径是一个文件还是目录。
os.path.splitext()
返回文件名与扩展名
....


sys模块
sys模块提供了一系列有关Python运行环境的变量和函数。
sys.argv:
从程序外部向程序传递参数。
sys.argv[0] 当前程序名
sys.argv[1] 第一个参数
sys.argv[2] 第二个参数
sys.platform
返回当前平台

stdout
标准输出
stderr
错误输出
可以调用write打印给定的字符串,类似print
f = open("1.log", "w")
sys.stdout = f
print("hello world")
在1.log文件中写入hello world

random模块
随机模块

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

猜你喜欢

转载自blog.51cto.com/13654063/2107910