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', 'wqv yw')
print(ret)
【版权声明】本博文著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处!
【重要说明】本文为本菜鸟的学习记录,论点和观点仅代表个人不代表此技术的真理,目的是学习和可能成为向别人分享的经验,因此有错误会虚心接受改正,但不代表此时博文无误!
【博客园地址】JayveeWong: http://www.cnblogs.com/wjw1014
【CSDN地址】JayveeWong: https://blog.csdn.net/weixin_42776111
【Gitee地址】Jayvee:https://gitee.com/wjw1014
【GitHub地址】Jayvee:https://github.com/wjw1014
原文地址:https://www.cnblogs.com/wjw1014/p/8656830.html