Python 自学基础(四)——time模块,random模块,sys模块,os模块,loggin模块,json模块,hashlib模块,configparser模块,pickle模块,正则
时间模块
import time print(time.time()) # 当前时间戳 # time.sleep(1) # 时间延迟1秒 print(time.clock()) # CPU执行时间 print(time.gmtime()) # 结构化时间 print(time.localtime()) # 取得电脑时间 print(time.strftime("%X", time.localtime())) print(time.ctime()) print(time.mktime(time.localtime())) print("++++++++++++++++++++++++") import datetime print(datetime.datetime.now())
随机数模块
# 随机数模块 Random import random print(random.random()) print(random.randint(1, 8)) print(random.choice("hello")) print(random.choice([1, "123", [1, 2, 3]])) print(random.sample([1, 2, 3, 4, 5, 6], 2)) print(random.randrange(0,10))
sys模块
import sys print(sys.argv) # 退出程序 # sys.exit(0) # if sys.argv[1] == 'post': # print('post') # 获得模块的搜索路径 初始化pythonpath的环境变量值 print(sys.path) # 获取python解释器的版本信息 print(sys.version) # 返回系统平台名称 print(sys.platform)
os模块
import os # 获得当前文件路径 print(os.getcwd()) # 改变当前的工作目录 生成新文件选择地址 os.chdir(r'C:\python') print(os.getcwd()) # 当前路径 .表示当前路径 .. 表示上层目录 print(os.curdir) print(os.pardir) # 可生成多层递归目录 文件夹 os.makedirs('abc\\wjw\\wjw2') # 删除文件夹 只删除空文件夹 os.removedirs('abc\\wjw\\wjw2') # 生成一个文件夹 os.mkdir('wjw') # 删除单级空目录 os.rmdir('wjw') # 列出指定文件的所有文件和目录,包含隐藏文件 print(os.listdir(r'F:\联想第二次实训')) # 删除文件 不能删除文件夹 os.remove('123.txt') # 重命名 os.rename("456.txt", "741.txt") # (oldname,newname)
loggin模块
# 日志模块 import logging logging.debug('debug') logging.info('info') logging.warning('warning') # 默认出现显示 logging.error('error') logging.critical('critical')
json模块
# json模块 # import json # # dic = {'name': 'wjw', 'age': '18', 'sex': 'nan'} # # data = json.dumps(dic) # # f = open('text', 'w') # f.write(data) # f.close() print("**********************************") # import json # # # def foo(): # print("ok") # # # data = json.dumps(foo) import json dic = {'name': 'wjw', 'age': '18', 'sex': 'nan'} # data = json.dumps(dic) f = open('text', 'w') json.dump(dic,f) f.close()
hashlib 加密模块
import hashlib # 加密模块 m=hashlib.md5() m.update("abc".encode("utf8")) print(m.hexdigest()) m.update('wjw'.encode("utf8")) print(m.hexdigest())
configparser模块
import configparser config = configparser.ConfigParser() config['wjw'] = {'name': 'wangjiawei', 'age': '18', 'sex': 'nan'} config['dizhi'] = {'name': 'shandongsheng', 'age': '256hao', 'sex': 'weifang'} with open("example.ini", 'w') as configfile: config.write(configfile) # 取文件内容 print(config['wjw']['name']) # 判断文件中是否有wjw块 print('dizhi' in config) print("***************") for i in config['wjw']: print(i) print("***************") # z={'name':'wjw','age':'18'} # # for i,y in z.items(): # print(i) # print(y)
pickle模块
import pickle def foo(): print("ok") data = pickle.dumps(foo) f = open('ptext', 'wb') f.write(data) f.close()
print('+++++++++++++++++++')
import pickle
f = open('ptext', 'rb')
data = f.read()
data = pickle.loads(data)
data()
f.close()
# 没内存指向,所以会报错
正则表达式 模块
# 正则表达式 # 贪婪匹配 有多的不按照少的匹配 import re # print(help(re)) ret = re.findall('wjw', 'qwertyuiowjwdfghjklxcvbnmwertyui') print(ret) # . 通配符 代指任意一个字符,只匹配一个字符 不能代指换行符 ret = re.findall('w.w', 'qwewww wwrtywkwuiowjwdfghjklxcvbnmwertyui') print(ret) # ^ 尖角符 只在开始匹配 ret = re.findall('^w..w', 'wqywertywerwuiowjwdfghjklxcvbnmwertyui') print(ret) # $ 结束符 在结束匹配 ret = re.findall('w..w$', 'wqywertywerwuiowjwdfghjklxcvbnmwertyweiw') print(ret) # * + ? {} # * 重复匹配 匹配前一个字符个数 0~多次 ret = re.findall('.*', 'wqywwwwertywerwwuioywwwejwdfghiowjklxcvbnmwertyweiw') print(ret) # + 重复 1到无穷次 不能为0次 ret = re.findall('qy+', 'wqywertqyyyywerwuiowjwdfqyyghjklxcvbnmwertyweiw') print(ret) # ? 只匹配0次或者1次 ret = re.findall('w?q', 'wqywertyweqrwuiowjwdfghjklxcvbnqmwwqertyweiw') print(ret) # {} 自定义匹配次数 ret = re.findall('w{3}q', 'wqywertywerwwwwquiowjwdfghjklxcvbnmwertyweiw') print(ret) # {1,3}匹配一次到三次 ret = re.findall('w{1,3}q', 'wqywertywerwwwwquiowjwdfghjklxcvbnmwertyweiw') print(ret) ''' 结论: * = {0,正无穷} + = {1,正无穷} ?= {0,1} 推荐使用.*+?,减少使用{} ''' print("****************************") # 【】 字符集 选择【】内的字符进行匹配 ret = re.findall('w[c,d]q', 'wqywcqdertywdqerwwwwquiowjwdfghjklxcvbnmwertyweiw') print(ret) ret = re.findall('w[a-z]q', 'wqyweqertywerwwwwquiowjwdqfghjklxcvbnmwertyweiw') print(ret) # \ 斜杠 ''' 反斜杠后加元字符去除特殊功能 反斜杠后加普通字符实现特殊功能 ''' # \d 匹配任何一个十进制数字 # \D 匹配任何非数字字符 大写取反 # \s 匹配任何空白字符 大写取反 # \w 匹配任何字母数字字符 大写取反 ret = re.findall('\w', 'wqyw') print(ret) ret = re.findall(r'v\b', 'wqv yw') print(ret)
【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获取授权并注明出处!
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014
【重要说明】博文仅作为本人的学习记录,论点和观点仅代表个人而不代表技术的真理,目的是自我学习和有幸成为可以向他人分享的经验,因此有错误会虚心接受改正,但不代表此刻博文无误!
【博客园地址】叫我+V : http://www.cnblogs.com/wjw1014
【CSDN地址】叫我+V : https://wjw1014.blog.csdn.net/
【Gitee地址】叫我+V :https://gitee.com/wjw1014