#-----time模块-----
 print(help(time))  #打印time帮助文档
print(time.time()) #打印时间戳 1569824501.6265268
time.sleep(2)
print(time.perf_counter()) #计时器
print(time.process_time()) #处理时间
print(time.gmtime()) #结构化时间,UTC时间
print(time.localtime()) #本地时间
print(time.strftime("%Y-%m-%d %H:%M:%S",time.localtime())) #2019-09-30 14:51:34
print(time.strftime("%Y-%m-%d %X",time.localtime())) #2019-09-30 14:51:34 a = time.strptime("2019-09-30 14:51:34","%Y-%m-%d %H:%M:%S")
#time.struct_time(tm_year=2019, tm_mon=9, tm_mday=30, tm_hour=14, tm_min=51, tm_sec=34, tm_wday=0, tm_yday=273, tm_isdst=-1)
print(a.tm_year) #时间戳表现形式:1、结构化时间 2、格式化时间 print(time.ctime())
print(time.mktime(time.localtime())) #转换为时间戳 1569827234.0
#-----datetime模块-----
print(datetime.datetime.now()) #2019-09-30 15:53:13.628849
#-----random 随机数-----
 print(random.random()) #0~1之间的数
print(random.randint(1,3)) #包括3
print(random.choice(['剪刀','石头','布'])) #取列表中的一个值
print(random.choice(''''''''''))
print(random.randrange(10)) #在0~9 之间取随机数
#-----打乱排序
 iters = [1,2,3,4,5,6,7,8,9]
a = random.shuffle(iters)
print(iters) #[5, 8, 1, 4, 3, 7, 9, 6, 2]
#多个字符串中选取指定数量的字符组成新字符串:
 print(''.join(random.sample(['a','z','d','w','r','w','y','i'],3)))
#-----随机生成5位验证码
 import random

 def v_code():
for i in range(5):
code1 = random.randrange(10) #生成一个随机0-9随机数字
code2 = random.choice(chr(random.randrange(65,91))) #生成一个随机大写字母
code3 = random.choice(chr(random.randrange(97,123))) #生成一个随机小写字母
print(random.choice([code1,code2,code3]),end="")
v_code()
#-----os 模块-----
 import os

 #-----os模块(测试系统为linux环境)-----
print(os.getcwd()) #获取当前目录
print(os.getcwd())
print(os.chdir(r"/")) #修改当前路径
print(os.getcwd())
os.makedirs('dream') #创建一个文件夹
print(os.getcwd())
os.remove('dream//1.py')#删除单个文件1.py
os.removedirs('dream')#只能删除空文件夹,删除dream文件夹
os.mkdir('wx')#生成单个目录
os.mkdir('wx//qq')
os.removedirs('wx//qq')#只能删除空文件夹
os.rmdir('wx') #删除文件夹
os.makedirs('dream//test//rise') #创建对多文件夹
a = os.listdir(r'/home/rise/PycharmProjects/mode1/02部分/week4/day3')
print(a) #列出指定目录下的所有文件和子目录
os.remove('1.py') #只能删除文件,不能删除文件夹
os.rename('1.py','test.py') #重命名文件
print(os.name)#输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
info = os.stat(r"day3.1.txt") #获取文件信息
print(info.st_size) #
print(os.sep) # / #路径分割符
print(os.pathsep) #环境变量风格符
os.system("ls") #执行shell命令
print(os.path.abspath('./day3.1.txt')) #/home绝对路径 /rise/PycharmProjects/mode1/02部分/week4/day3/day3.1.txt
print(os.path.split('/rise/PycharmProjects/mode1/02部分/week4/day3/day3.1.txt')) #路径分割,分割为路径和文件名
#('/rise/PycharmProjects/mode1/02部分/week4/day3', 'day3.1.txt')
print(os.path.dirname('/rise/PycharmProjects/mode1/02部分/week4/day3/day3.1.txt')) #返回绝对路径上一层
print(os.environ) #显示环境变量
print(os.name)#输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
print(os.path.dirname(__file__)) #输出当前文件路径
/home/rise/PycharmProjects/mode1/02部分/week4/day3
#-----sys模块(与Python解释器进行交互)-----
 import sys

 print(sys.argv)
print(sys.exit())
print(sys.path) #搜寻模块路径的列表
print(sys.version)#获取python解释器版本信息
print(sys.platform) #返回操作系统平台名称
#-----hashlib模块-----
 import hashlib

 #----md5
m1 = hashlib.md5()
m1.update("learn english".encode("utf-8")) #编码转换,update 处理数据类型为byte类型
print(m1.hexdigest()) #51e219953881565e51a2c54c4947c3c0 #----sha256
hashlib.sha256
m2 = hashlib.sha256()
m2.update("learn english".encode("utf-8")) #编码转换,update 处理数据类型为byte类型
print(m2.hexdigest()) #c980e31678b5f1ac8ee13ccebf192320a98714600c0e971555c221509e13efe0
#-----logging模块-----
 import logging

 logging.basicConfig(level=logging.INFO,
format='%(asctime)s %(filename)s [line:%(lineno)d] %(levelname)s %(message)s',
datefmt='%a,%d %m %Y %H:%M:%S', filename='text.log', #filename 改变输出方式
filemode='a') logging.debug('debug message1')
logging.info('info message2')
logging.warning('warning message3')
logging.error('error message4')
logging.critical('critical message5')
#-----logging屏幕与文件同时输出-----
 import logging

 logger = logging.getLogger()
#创建一个handler,用于写入日志文件
fh = logging.FileHandler('test.log') #在创建一个handler,用于输出到控制台(屏幕输出)
ch = logging.StreamHandler() formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s') fh.setFormatter(formatter)
ch.setFormatter(formatter) logger.addHandler(fh) #添加文件输出
logger.addHandler(ch) #添加屏幕输出 logger.setLevel(logging.DEBUG) #日志级别 logger.debug('debug message1')
logger.info('info message2')
logger.warning('warning message3')
logger.error('error message4')
logger.critical('critical message5')
#-----configparser(创建配置文件)-----
 import configparser

 config = configparser.ConfigParser()
config["DEFAULT"] = {
"Server":45,
"Compression":"yes",
"ComprewssionLevel":9}
config['dream'] = {
"name":"dream",
"age":21,
"sex":"male"}
config['test'] ={
"ttt":"t",
"aaa":"a",
"bbb":'b'}
with open("config.ini",'w') as configfile:
config.write(configfile)
#-----输出结果(配置文件)
 [DEFAULT]
server = 45
compression = yes
comprewssionlevel = 9 [dream]
name = dream
age = 21
sex = male [test]
ttt = t
aaa = a
bbb = b
#-----读取
 config = configparser.ConfigParser()
config.read("config.ini")
print(config.sections()) #除去默认的,['dream']
print(config.defaults()) #生成有序的字典,打印默认中的信息。OrderedDict([('server', '45'), ('compression', 'yes'), ('comprewssionlevel', '9')])
print(config.default_section) #DEFAULT
print(config['DEFAULT']['server']) #类似字典取法,45 for key in config["dream"]:
print(key,end=" ")
#除打印需求的,同时打印DEFAULT(默认的)name age sex server compression comprewssionlevel
#-----修改
 config = configparser.ConfigParser()
config.read("config.ini") #读取文件
config.remove_section('dream') #删除分组['dream']的配置文件
config.write(open("config1.ini",'w')) #删除后另存为config1文件 config.read("config1.ini") #读取文件
ter1 = config.has_section('dream')
print(ter1) #检查是否在,返回False config.remove_option('test','ttt') #删除分组中的部分
config.write(open('config2.ini','w')) config.read('config2.ini')
ter2 = config.has_option('test','ttt')
print(ter2) #False config.add_section("h1")
config.write(open("config4.ini",'w')) #生成分组[h1] config.read("config2.ini")
config.set('test','aaa','a1') #修改['h1']['aaa'] 相关的值,将'a'改为'a1'
config.write(open("config3.ini","w"))
#-----re正则表达式:匹配字符串-----
#正则表达式的方法:

    1、re.findall() :所有结果都返回到一个列表里
2、re.search() :返回对象(object),对象调用group()返回结果
3、match() :只在字符串开始匹配
4、re.split() :分割
5、re.sub() :替换
6、re.compile : 共用规则,多次调用规则进行匹配
#string(字符串)提供匹配方法是完全匹配
 import re

 #源字符 . ^ $ * + ? {} ( ) \

 #通配符 . (点代指任意一个字符,换行符\n ,无法匹配到)
ret1 = re.findall("w..l","hello world")
print(ret1) # ^ (以最开始的位置匹配)
ret2 = re.findall('^a..n','adfnddfdafffn')
print(ret2) # $ (以结尾的位置匹配)
ret3 = re.findall('a..n$','addnadfddfkdafdn')
print(ret3) # * (重复匹配)[0,+00]
ret4 = re.findall('abc*','abcccccc')
print(ret4)#贪婪匹配方法['abcccccc'] # +(重复匹配)[1,+00]
ret5 = re.findall('abc+','abcccccf')
print(ret5) #['abccccc'] # ? 惰性匹配[0,1]
ret6 = re.findall('abc?','abccabdcccc')
print(ret6)# [0,1] # {}
ret7 = re.findall('a{5}b',"eaaaaaabbbcdfgd")
print(ret7)
ret8 = re.findall('a{1,3}b',"eaaaaaabbbcdfgd")
print(ret8) # []
ret9 = re.findall('a[bc]d','abdcacdabcd')
print(ret9) #[bc] 之间的关系为或的关系 ret10 = re.findall('abc*?','abcdffgabccgh')
print(ret10) # ? 惰性匹配 #[^a-z] 取反
ret = re.findall("[^a-z]","123435fsfafdfsd")
print(ret) #['1', '2', '3', '4', '3', '5'] #------ [] 字符集: 取消元字符的特殊功能(\ ^ -) ret = re.findall('a[bc,*]d','abdcacdabca*d')
print(ret) #['abd', 'acd', 'a*d'] ret = re.findall('[1-9,a-z,A-Z]',"12wff7ofWHfe")
print(ret) #['1', '2', 'w', 'f', 'f', '7', 'o', 'f', 'W', 'H', 'f', 'e'] # \ (1、反斜杠后面的元字符去掉特殊功能 2、反斜杠后面跟普通字符实现特殊功能)
ret = re.findall("\d{11}","asda1234454676677dd")
print(ret) #['12344546766'] #\w 匹配任何字母数字字符
ret = re.findall("\w","asda1237d")
print(ret) #['a', 's', 'd', 'a', '1', '2', '3', '7', 'd']
ret1 = re.findall("\w+","i am a boy")
print(ret1) #['i', 'am', 'a', 'boy'] #\b 匹配特殊字符边界(空格或者特殊字符$)
ret2 = re.findall(r"i\b","i am a boy,i$")
print(ret2) #['i', 'i'] #-----search 匹配出第一个满条件的结果
ret = re.search("ab","adfdfdababdab")
print(ret.group()) # r"" 匹配条件加r(原生字符)
a = re.findall(r"\bblow","blow")
print(a)
b = re.findall("\\\\","\\\\")
b1 = re.findall(r"\\","\\\\\\")
print(b,b1) # () |
print(re.search("(ab)+","ababdfdf").group())
print(re.search("(ab)|3","ababd3fdf").group()) # ?P<id>\d{3} (分组)
print(re.search("(?P<id>\d{3})/(?P<name>\w{3})","12324/csvcs239").group()) #324/csv print(re.match("abc","abcweabc").group()) #从字符开始匹配
ret = re.split("[j,d]","sdswkdldbds") #分割
print(ret) #['s', 'swk', 'l', 'b', 's']
ret = re.sub("a","cv","avbadvdve") #替换
print(ret) obj = re.compile(r"\.com") #re.compile内添加规则
ret1 = obj.findall("www.baidu.com")
print(ret1)
												

time,datetime,random,os,sys,hashlib,logging,configparser,re模块的更多相关文章

  1. CSIC_716_20191116【常用模块的用法 time ,datetime, random, os, sys, hashlib】

    import time import datetime import os import sys import random import hashlib time模块 时间戳(Timestamp) ...

  2. Python常用模块(time, datetime, random, os, sys, hashlib)

    time模块 在Python中,通常有这几种方式来表示时间: 时间戳(timestamp) :         通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运 ...

  3. python笔记-1(import导入、time/datetime/random/os/sys模块)

    python笔记-6(import导入.time/datetime/random/os/sys模块)   一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其 ...

  4. 常用模块之 time,datetime,random,os,sys

    time与datetime模块 先认识几个python中关于时间的名词: 时间戳(timestamp):通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量.我们运行“ty ...

  5. Python常用模块(logging&re&时间&random&os&sys&shutil&序列化&configparser&&hashlib)

    一. logging(日志模块) 二 .re模块 三. 时间模块 四. random模块 五. os模块 六. sys模块 七. shutil模块 八. 序列化模块(json&pickle&a ...

  6. python基础语法11 内置模块time,datatime,random,os,sys,hashlib模块

    time模块 在python的三种时间表现形式: 1.时间戳: 给电脑看的. - 自1970-01-01 00:00:00到当前时间,按秒计算,计算了多少秒. 2.格式化时间(Format Strin ...

  7. python笔记-6(import导入、time/datetime/random/os/sys模块)

    一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其它内容待日后有深入理解了再来细说 1.import可以导入的两种不同的内容 1.1 *.py文件结尾的文件 ...

  8. Day 17 time,datetime,random,os,sys,json,pickle

    time模块 1.作用:打印时间,需要时间的地方,暂停程序的功能 时间戳形式 time.time() # 1560129555.4663873(python中从1970年开始计算过去了多少秒) 格式化 ...

  9. python之常见模块(time,datetime,random,os,sys,json,pickle)

    目录 time 为什么要有time模块,time模块有什么用?(自己总结) 1. 记录某一项操作的时间 2. 让某一块代码逻辑延迟执行 时间的形式 时间戳形式 格式化时间 结构化时间 时间转化 总结: ...

随机推荐

  1. scrapy爬虫具体案例详细分析

    scrapy爬虫具体案例详细分析 scrapy,它是一个整合了的爬虫框架, 有着非常健全的管理系统. 而且它也是分布式爬虫, 它的管理体系非常复杂. 但是特别高效.用途广泛,主要用于数据挖掘.检测以及 ...

  2. 富文本编辑器Simditor

    文档地址:https://simditor.tower.im/docs/doc-usage.html 父组件: options: { placeHolder: 'this is placeHolder ...

  3. CF1146D Frog Jumping

    CF1146D Frog Jumping 洛谷评测传送门 题目描述 A frog is initially at position 00 on the number line. The frog ha ...

  4. CloudCompare中对点云进行降采样和剪裁

    降采样: Edit=>Subsample 出现一个弹窗,可以选择3种降采样的方式:Random, Space, Octree. 下面用一个例子来说明3种方式.例子是一个5.88M个点的点云文件( ...

  5. html头部标签汇总

    <!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> <html lang="zh-cmn-Hans"&g ...

  6. 【2019.8.11上午 慈溪模拟赛 T2】十七公斤重的文明(seventeen)(奇偶性讨论+动态规划)

    题意转化 考虑我们对于集合中每一个\(i\),若\(i-2,i+k\)存在,就向其连边. 那么,一个合法的集合就需要满足,不会存在环. 这样问题转化到了图上,就变得具体了许多,也就更容易考虑.求解了. ...

  7. Linux宝塔安装步骤

    首先:先运行 X shell 一:输入命令 Centos安装命令(一般都用这个): yum install -y wget && wget -O install.sh http://d ...

  8. vue 使用localstorage实现面包屑

    mutation.js代码: changeRoute(state, val) { let routeList = state.routeList; let isFind = false; let fi ...

  9. 动手学深度学习11- 多层感知机pytorch简洁实现

    多层感知机的简洁实现 定义模型 读取数据并训练数据 损失函数 定义优化算法 小结 多层感知机的简洁实现 import torch from torch import nn from torch.nn ...

  10. 1+x证书Web前端开发中级理论考试(试卷1)

    2019年下半年 Web前端开发中级 理论考试 (考试时间19:00-20:30 共150分钟,测试卷1) 本试卷共3道大题,满分100分. 请在指定位置作答. 一.单选题(每小题2分,共30小题,共 ...