Python四周五次课
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python四周五次课相关的知识,希望对你有一定的参考价值。
一、logging 模块
logging 模块通常用来打印日志信息,日志级别为 critical > error > warning > info > debug > notset ,日志级别越低输出信息越多
logging 用法1 :直接将日志信息打印到屏幕,默认只打印 warning 以上级别的日志信息
#!/usr/bin/python import logging logging.debug(‘This is debug message‘) logging.info(‘This is info message‘) logging.warning(‘This is warning message‘) logging.error(‘This is error message‘)
[[email protected] ~]# python 1.py WARNING:root:This is warning message ERROR:root:This is error message
logging 用法2 :通过 basicConfig() 函数将日志信息保存到某个文件
#!/usr/bin/python import logging logging.basicConfig(level=logging.DEBUG, format=‘%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s‘, # 设置日志信息的输出格式 datefmt=‘%a, %d %b %Y %H:%M:%S‘, # 设置日志信息的时间格式 filename=‘myapp.log‘, # 设置日志信息保存到哪个文件 filemode=‘w‘) # 指定日志文件的打开模式 logging.debug(‘This is debug message‘) logging.info(‘This is info message‘) logging.warning(‘This is warning message‘)
[[email protected] ~]# python 1.py [[email protected] ~]# cat myapp.log Fri, 10 Nov 2017 21:12:11 1.py[line:10] DEBUG This is debug message Fri, 10 Nov 2017 21:12:11 1.py[line:11] INFO This is info message Fri, 10 Nov 2017 21:12:11 1.py[line:12] WARNING This is warning message
输出格式:
%(levelno)s : 打印日志级别的数值
%(levelname)s : 打印日志级别名称
%(pathname)s : 打印当前执行程序的路径,其实就是sys.argv[0]
%(filename)s : 打印当前执行程序名
%(funcName)s : 打印日志的当前函数
%(lineno)d : 打印日志的当前行号
%(asctime)s : 打印日志的时间
%(thread)d : 打印线程ID
%(threadName)s : 打印线程名称
%(process)d : 打印进程ID
%(message)s : 打印日志信息
二、os 模块
os.listdir() :用于将指定目录下的文件用列表的方式打印出来,如 os.listdir(‘/tmp/‘)
os.path.isdir() :用于判断目录是否存在,如果存在返回 True ,如果不存在返回 False
os.path.isfile() :用于判断文件是否存在,如果存在返回 True ,如果不存在返回 False
os.path.join() :用于连接两个参数,通常用于连接文件名,如 os.path.join(‘/etc‘, ‘passwd‘) 返回结果为 ‘/etc/passwd‘
os.path.split() :用于分离目录和文件,如 os.path.split(‘/etc/passwd‘) 返回结果为 (‘/etc‘, ‘passwd‘)
os.path.exists() :用于判断变量、文件等是否存在,如果存在返回 True ,如果不存在返回 False
os.path.getsize() :用于获取文件的大小,默认以 K 为单位,如 os.path.getsize(‘/tmp/1.txt‘)
os.path.basename() :只返回文件名部分,如 os.path.basename(‘/etc/passwd‘) 返回结果为 ‘passwd‘
os.path.dirname() :只返回目录部分,如 os.path.basename(‘/etc/passwd‘) 返回结果为 ‘/etc‘
os.getcwd() :用于获取当前所在目录
os.chdir() :用于改变工作目录,相当于 cd 命令,如 os.chdir(‘/tmp‘) 相当于 cd /tmp
os.mkdir() :用于创建目录,相当于 mkdir 命令,如 os.mkdir(‘/tmp/test‘) 相当于 mkdir /tmp/test
os.mkdirs() :用于递归地创建目录,如 os.mkdirs(‘/tmp/a/b/c‘) 相当于 mkdir -p /tmp/a/b/c
os.remove() :用于删除指定文件,如 os.remove(‘/tmp/1.txt‘)
os.rmdir() :用于删除指定目录,如 os.rmdir(‘/tmp/test‘)
os.walk() :用于迭代目录里的文件,详细用法
os.name :判断系统平台,Windows 系统返回‘nt‘ ,Linux 系统返回‘posix‘
os.system() :用于执行 shell 命令,如 os.system(‘ls /tmp‘) ,详细用法
os.popen() :用于执行 shell 命令,但只返回标准输出,详细用法
os.popen2() :用于执行 shell 命令,返回标准输入和标准输出,详细用法
os.popen3() :用于执行 shell 命令,返回标准输入、标准输出、标准错误输出,详细用法
三、commands 模块
commands 模块通常用于执行一些 shell 命令
commands.getoutput() :用于执行 shell 命令,如 commands.getoutput(‘ls /tmp/‘)
commands.getstatusoutput() :用于执行 shell 命令,并返回命令执行后的状态码
四、sys 模块
sys.exit() :用于退出整个脚本
sys.stdin.read() :用于接收标准输入,执行后会等待键盘输入
sys.stdout.write() :用于输出标准输出,如 sys.stdout.write(‘Hello‘) 会打印出 Hello ,默认不加换行符
sys.stderr.write() :用于输出标准错误输出,如 sys.stderr.write(‘Hello‘) 会打印出 Hello ,默认不加换行符
sys.argv :用来接收命令行参数,跟 shell 脚本中的 $n 用法一致,比如 sys.argv[0] 相当于 $0(即文件名),sys.argv[1] 相当于 $1(即第一个参数),sys.argv[2] 相当于 $2(即第二个参数),以此类推
以上是关于Python四周五次课的主要内容,如果未能解决你的问题,请参考以下文章