python学习day19 模块

# 昨日复习:
# 字符组 [字符]
# 元字符:
# \w \d \s
# \W \D \S
# . 除了换行符以外的任意字符
# \n \t
# ^ $ 匹配字符串的开始和结束
# ()分组,是对多个字符组整体量词约束的时候调用
# re模块:分组是有有优先的
# fiandall
# split
# | 从左到右匹配,只要匹配上就不继续匹配,所以应该把长的放在前面
# [^]除了字符组内的其他都匹配
# 量词
# * 0+
# + 1+
# ? 0-1
# {n} n
# {n,} n+
# {n,m} n+m

# 转移问题
# import re
# re.findall(r'\\s')

# 惰性匹配
# 量词后面加问号
# .*?abc 一取到abc就停
# re模块
# import re
# re.findall('\d','awir17948jsdc',re.S)
# 返回值:列表 列表中是所有匹配到的项

# ret = search('\d(\w)+','awir17948jsdc')
# ret = search('\d(?P<name>\w)+','awir17948jsdc')
# 找整个字符串,遇到匹配上的就返回,遇不到就None
# 如果有返回值ret.group()就可以取到值
# 取分组中的内容 : ret.group(1) / ret.group('name')

# match
# 从头开始匹配,匹配上了就返回,匹配不上就是None
# 如果匹配上了 .group取值

# 分割 split
# 替换 sub 和 subn
# finditer 返回迭代器
# compile 编译 :正则表达式很长且要多次使用

# import re

# ret = re.search("<(?P<tag_name>\w+)>\w+</(?P=tag_name)>","<h1>hello</h1>")
# #还可以在分组中利用?<name>的形式给分组起名字
# #获取的匹配结果可以直接用group('名字')拿到对应的值
# print(ret.group('tag_name')) #结果 :h1
# print(ret.group()) #结果 :<h1>hello</h1>

# ret = re.search(r"<(\w+)>\w+</\1>","<h1>hello</h1>")
# #如果不给组起名字,也可以用\序号来找到对应的组,表示要找的内容和前面的组内容一致
# #获取的匹配结果可以直接用group(序号)拿到对应的值
# print(ret.group(1))
# print(ret.group()) #结果 :<h1>hello</h1>

# import re

# ret=re.findall(r"\d+\.\d+|(\d+)","1-2*(60+(-40.35/5)-(-4*3))")
# print(ret) #['1', '2', '60', '40', '35', '5', '4', '3']
# ret.remove('')
# print(ret)
# ret=re.findall(r"-?\d+\.\d*|(-?\d+)","1-2*(60+(-40.35/5)-(-4*3))")
# print(ret) #['1', '-2', '60', '', '5', '-4', '3']
# ret.remove("")
# print(ret) #['1', '-2', '60', '5', '-4', '3']

# 队列
# import queue
# q = queue.Queue()
# q.put([1,2,3])
# q.put(5)
# q.put(6)
# q.put(7)
# print(q)
# print(q.get())
# print(q.get())
# print(q.qsize())
#
# from collections import deque #双端队列
# dq = deque([1,2])
# dq.append('a')#从后面放数据
# dq.appendleft('b')#从前面放数据
# print(dq.pop())#从后面取数据
# print(dq.popleft())#从前面取数据
# dq.insert(2,3)#插入数据
# print(dq)

# 有序字典
# from collections import OrderedDict
# od = OrderedDict([('a',1),('b',2),('c',3)])
# print(od)#此时字典是有序的

# from collections import defaultdict
# d = defaultdict(lambda : 5)
# print(d['k'])

# import time

# 格式化时间——字符串:给人看的
# 时间戳时间——float时间:计算机看的
# 结构化时间——元组:计算用的

# print(time.strftime("%Y/%m/%d %a %H:%M:%S"))#可以任意组合
# print(time.strftime("%m/%d %a %H:%M:%S"))
# struct_time=time.localtime()
# print(struct_time)
# print(struct_time.tm_year)

# 结构化时间和时间戳
# t = time.time()
# print(t)
# print(time.localtime(3000000000))
# print(time.gmtime())
# print(time.mktime(time.localtime()))
# print(time.strptime('2000-12-12', "%Y-%m-%d"))
# print(time.asctime())#全能选手

#随机模块
#参考老师的博客
import os
# print(os.getcwd())
# os.chdir(r'C:\Users\Administrator\PycharmProjects')
# print(os.getcwd())

# os.chdir('..')
# print(os.getcwd())
# os.makedirs('dirname1/dirname2')
# os.removedirs('dirname1/dirname2')

# os.mkdir('dirname1/dirname')

# print(os.listdir(r'C:/Users/Administrator/PycharmProjects/s9'))

# print(os.stat('1.复习.py'))

# print(os.sep) # python代码跨平台 :linux windows
# /user/bin/

# os.system("dir")
# ret = os.popen("dir").read()
# print(ret)

# print(os.environ)

# print(os.getcwd())
# print(os.path.split(os.getcwd()))

# print(os.path.join(r'C:\Users\Administrator','user','local'))
# print(os.getcwd())
# print(os.path.getsize(os.path.join(os.getcwd(),'1.复习.py')))

import sys
# print(sys.platform)
# print(sys.version)


# print(sys.path.clear())


# ret = sys.argv
# name = ret[1]
# pwd = ret[2]
# if name == 'alex' and pwd == 'alex3714':
# print('登陆成功')
# else:
# print("错误的用户名和密码")
# sys.exit()
# print('你可以使用计算器了')

猜你喜欢

转载自www.cnblogs.com/wujunjie-sir/p/9228539.html