#-----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. C++学习03_对象

    1.类 类决定了一个对象具有什么样的属性功能. class MyFirstClass { }; //跟C++结构情况相似 //类的第一个字母采用大写是一种习惯的上的标准. //与C++结构情况类似 类 ...

  2. 01 less的使用

    使用less 安装两个包 1===>cnpm install less less-loader --save-dev less中的注释 以 //开头的注释 不会被编译到css文件中去 以 /** ...

  3. pyquery解析库

    这一篇整理一下pyquery这个解析库.还是菜,若有错误的地方,欢迎大家随时指正.......(come on.......) pyquery:是一个css选择器,再使用时,也需要传入HTML文本来初 ...

  4. python27期尚哥讲数据库:

    1.下载:https://www.mysql.com/ DOWNLOADS MySQL Community (GPL) Downloads »-- MySQL Community Server Loo ...

  5. 洛谷 P4316 绿豆蛙的归宿

    洛谷 P4316 绿豆蛙的归宿 洛谷传送门 题目背景 随着新版百度空间的上线,Blog宠物绿豆蛙完成了它的使命,去寻找它新的归宿. 题目描述 给出一个有向无环图,起点为1终点为N,每条边都有一个长度, ...

  6. nuxtjs踩坑指南

    1.nuxt引入问题:Can't resolve 'stylus-loader' 原因在于没有安装stylus,安装即可:npm install stylus stylus-loader --save ...

  7. Win10修改hosts文件并配置DNS

    1.打开C:\Windows\System32\drivers\etc目录 2.去掉hosts文件的只读属性 3.添加dns解析配置 127.0.0.1           www.example.c ...

  8. 队列和 BFS —— 栈和 DFS

    队列和 BFS: 广度优先搜索(BFS)的一个常见应用是找出从根结点到目标结点的最短路径. 示例 这里我们提供一个示例来说明如何使用 BFS 来找出根结点 A 和目标结点 G 之间的最短路径. 洞悉 ...

  9. 【杂文】CSP2019蒟蒻AFO(假)记

    [杂文]CSP2019蒟蒻AFO(假)记 [初赛前 N 天] 时间:2019-10-15 今晚 \(2012\) 的初赛题做到心态爆炸,选择考计算机基础知识一脸懵逼,填空和后面一道大模拟直接跳过,最后 ...

  10. 【git】git命令集合

    [在包含.git目录所在的项目根目录下,打开git Bash] 参考地址:https://www.cnblogs.com/sxdcgaq8080/p/11655170.html =========== ...