OS模块,sys模块,hashlib模块,logging模块
OS模块:
调用方法:import os
1.os.getcwd():文件读取路径,获取当前工作目录
print(os.getcwd())
2.os.chdir():更改工作目录
print(os.getcwd())
os.chdir(r'E:\workspase')
print(os.getcwd())
3.os.curdir:返回当前目录:('.')
4.os.pardir:获取当前目录的父目录字符串名:('..')
5.os.makedirs('dirname1/dirname2'):可生成多层递归目录
os.makedirs('abc\\eric\\edad')
6.os.removedirs('dirname1'):若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
os.removedirs('abc\\eric\\edad')
7.os.mkdir('dirname'):生成单级目录;相当于shell中mkdir dirname
8.os.rmdir('dirname'):删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
9.os.listdir('dirname'):列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
10.os.remove():删除一个文件(只能删除文件,不能删除文件夹)
11.os.rename("oldname","newname"):重命名文件/目录
12.os.stat('path/filename'):获取文件/目录信息,文件大小等信息
13 os.sep 输出操作系统特定的路径分隔符,win下为"\\",Linux下为"/"
14 os.linesep 输出当前平台使用的行终止符,win下为"\t\n",Linux下为"\n"
15 os.pathsep 输出用于分割文件路径的字符串
16 os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
17 os.system("bash command") 运行shell命令,直接显示
18 os.environ 获取系统环境变量
19 os.path.abspath(path) 返回path规范化的绝对路径
20 os.path.split(path) 将path分割成目录和文件名二元组返回
21 os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
22 os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
23 os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
24 os.path.isabs(path) 如果path是绝对路径,返回True
25 os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
26 os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False
27 os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
os.path.join([path1,path2])
28 os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
29 os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
Python解释器进行交互
sys模块:
调用方法:import sys
1.sys.argv:sys.文件名,传入参数决定连接 命令行参数List,第一行元素是程序本身路径
import sys
print(sys.argv)
def post():
print('ok')
def download():
pass
if sys.argv[1]=='post':
post()
elif sys.argv[1]=='dongload':
download()
2.sys.exit(n):退出程序,正常退出时exit(0)
3.sys.version:获取Python解释程序的版本信息
4.sys.maxint:最大的Int值
5.sys.path:返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
import time
print(sys.path)#模块所在的路径
6.sys.platform:返回操作系统平台名称
7.sys.stdout.write('please:'):标准输出
hashlib模块(加密)
调用方法:import hashlib
1.m=hashlib.md5():以md5算法进行加密
import hashlib
m=hashlib.md5()#md5是一种加密方式
print(m)
m.update('hellow word'.encode('utf8'))#编码转换万国码转换为utf-8(Python3里面只有两种字节,不默认utf8去编码)
print(m.hexdigest())#dd732b9d329447fb9b2d50a1dee7b931
m.update('eric'.encode('utf8'))#在原有基础上添加了‘eric’然后再整体加密
print(m.hexdigest())
m2=hashlib.md5()
m2.update('hellow worderic'.encode('utf8'))
print(m2.hexdigest())
2.s=hashlib.sha3_256():sha是个系列常用256,这系列是用的比较多,重要
import hashlib
s=hashlib.sha3_256()
s.update('hellow word'.encode('utf8'))
print(s.hexdigest())
logging模块
调用方法:import logging(用控制台显示日志信息)
1.logging.debug()
2.logging.info()
3.logging.warning()
4.logging.error()
5.logging.critical()
(1)basicConfig 格式(控制台输出日志信息)日志格式的修改:logging.basicConfig()
import logging
logging.debug('debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
(2)自动创建一个文件存储日志(用文件显示日志信息)
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='test.log',
filemode='w')#配置日志级别,日志格式,输出位置
#level 级别
#format 格式 打印格式 = asctime时间 filename文件名 (lineno行号) levelname级别名字 message内容
#datefmt 时间格式
#filename 文件名
#filemode 文件模式
logging.debug('Debug message')
logging.info('info message')
logging.warning('warning message')
logging.error('error message')
logging.critical('critical message')
注:w每次会对文件重写,所以多用a去追加内容(一个文件存储所有日志内容)
(3)logger:控制台和文件都显示出日志信息
import logging
logger = logging.getLogger()
#创建一个handler用于写入日志文件
fh = logging.FileHandler('text.log')
#再创建一个handler文件输出控制台
ch = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s %(filename)s %(levelname)s %(message)s')
fh.setFormatter(formatter)#传入对象,获取规定格式
ch.setFormatter(formatter)#传入对象,获取规定格式
logger.addHandler(fh)#用addHandler去辨别用那种格式输出(文件)
logger.addHandler(ch)#用addHandler去辨别用那种格式输出(控制台)
logger.setLevel(logging.DEBUG)#更改文件日志显示级别(控制台和文件都显示全部内容)
logger.debug('Debug message')
logger.info('info message')
logger.warning('warning message')
logger.error('error message')
logger.critical('critical message')
OS模块-sys模块-hashlib模块-logging模块
最新推荐文章于 2022-01-11 08:35:47 发布