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四周五次课的主要内容,如果未能解决你的问题,请参考以下文章

?十四周五次课(3月30日)

Python学习-八周五次课(12月15日)

20171124_Python学习六周五次课(11月24日)

十五周五次课

七周五次课(1月26日)

十二周五次课(3月16日)