time模块(参考链接)
datatime模块(参考链接)
os模块
- https://blog.youkuaiyun.com/weixin_42223833/article/details/86253032
- https://blog.youkuaiyun.com/taolusi/article/details/81074106
- https://www.cnblogs.com/yuanqiangfei/p/8111106.html
os模块递归删除文件夹
import os
path = 'D:\\000\\111'
list1 = os.listdir(path)
def clear_mir(list1,path):
#global path # 引用全局变量,不写会报错local variable 'path' referenced before assignment
# 对象还未声明就被引用
print('---------------')
print(list1)
if len(list1)>0: # 如果文件夹不为空
for file in list1: # 遍历文件夹中的文件
path = os.path.join(path,file)
if os.path.isfile(file): #如果是文件
os.remove(file) #删除文件
# path = os.path.dirname(path) #获取上层目录路径
print('path:' + path)
else: #如果是文件夹
os.chdir(path) # 进入该文件夹
list2 = os.listdir(path)
clear_mir(list2,path)
path = os.path.dirname(path) #获取上层目录路径
os.chdir(path) #进入上层目录,同时将path改为上层目录
os.rmdir(file) #删除该文件夹
print('path:' + path)
# clear_mir(list1,path)
# os.chdir('D:\\000\\111')
# print(os.getcwd())
# print(os.path.isfile('test2'))
def clear_totally(path):
list1 = os.listdir(path)
clear_mir(list1,path)
print('------',len(os.listdir(path)))
if len(os.listdir(path)) == 0 :
os.chdir(os.path.dirname(path))
os.rmdir(path)
clear_totally(path)
代码粗糙,还请见谅,如有错误或需要改进的地方,欢迎改正
random模块
sys模块
- 关于_name_ https://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/001431845183474e20ee7e7828b47f7b7607f2dc1e90dbb000
- https://blog.youkuaiyun.com/qq_38526635/article/details/81739321
- https://blog.youkuaiyun.com/miaoqinian/article/details/80586954
json模块
- https://blog.youkuaiyun.com/weixin_41179709/article/details/82763253
- https://blog.youkuaiyun.com/abc_12366/article/details/79951548
- https://www.cnblogs.com/tjuyuan/p/6795860.html
### dumps将python转换为json字符串格式
dic = {'name':'Micheal'}
jstr = json.dumps(dic)
print(jstr,type(jstr))
### dump将python对象转换为json字符串格式,并写入文件
with open('jsonTest.txt','w',encoding='utf-8') as f:
json.dump(dic,f)
#f.write(json.dumps(dic))
### loads将json字符串转化为python对象格式
jdic = json.loads(jstr)
print(jdic,type(jdic))
### load从文件中读取json字符串并转换为python对象格式
with open('jsonTest.txt','r',encoding='utf-8') as f:
data = json.load(f)
# data = json.loads(f.read())
print(data,type(data))
{"name": "Micheal"} <class 'str'>
{'name': 'Micheal'} <class 'dict'>
{'name': 'Micheal'} <class 'dict'>
pickle模块
-
json模块和pickle模块都有 dumps、dump、loads、load四种方法,而且用法一样。
-
不用的是json模块序列化出来的是通用格式,其它编程语言都认识,就是普通的字符串,
-
而picle模块序列化出来的只有python可以认识,其他编程语言不认识的,表现为乱码
-
不过pickle可以序列化函数,但是其他文件想用该函数,在该文件中需要有该文件的定义(定义和参数必须相同,内容可以不同)
-
pickle序列号之后为字节(byte),所以写入文件时一定要用wb,ab(b模式),json序列化之后为字符串(string)
https://www.cnblogs.com/pannyvan/p/4439308.html
https://www.cnblogs.com/cobbliu/archive/2012/09/04/2670178.html
shelve模块
Shelve模块提供了基本的存储操作,Shelve中的open函数在调用的时候返回一个shelf对象,通过该对象可以存储内容,即像操作字典一样进行存储操作。当在该对象中查找元素时,对象会根据已经存储的版本进行重新构建,当给某个键赋值的时候,元素会被存储。
https://blog.youkuaiyun.com/angelpumpkin/article/details/80062219
XML模块
主要是对xml文件的创建和解析
re模块(正则表达式)
- https://www.cnblogs.com/tina-python/p/5508402.html
- https://blog.youkuaiyun.com/likunkun__/article/details/81707883
- 正则表达式的贪婪模式和非贪婪模式
https://www.cnblogs.com/xudong-bupt/p/3586889.html
https://www.jianshu.com/p/974dee8953e6
- python字符串前加r 使\t\n之类的转椅字符不会被转义
logging(日志)模块
- https://www.cnblogs.com/yyds/p/6901864.html
- https://www.cnblogs.com/liujiacai/p/7804848.html
- 需要注意的是使用,当使用logging.getLogger() 后默认创建的级别是root
- 如果继续创建logging.getLogger(‘mylogger’),级别为root.mylogger,该日志对象是root的子级对象
- 当root和mylogger都设置handler打印输出时,mylogger中的内容会打印2次
configparse模块
该模块用于创建和解析配置文件
https://www.cnblogs.com/pymkl/articles/8137004.html