day19模块

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

# 转义的问题
# import re
# re.findall(r'\\s',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']

# 首先得到一个字符串
# 去空格
# 没有空格的字符串
# 先算最里层括号里的 : 找括号 ,且括号里没有其他括号
# 得到了一个没有括号的表达式 :只有加减乘除 从左到右先找到第一个乘除法 —— 重复
# 所有的乘除法都做完了
# 计算加减 —— 加减法
# 只有一个数了 就可以结束了

 

#列表、元祖
#字典
#集合、frozenset
#字符串
#堆栈 : 先进后出
#队列 :先进先出 FIFO

# from collections import namedtuple
# Point = namedtuple('point',['x','y','z'])
# p1 = Point(1,2,3)
# p2 = Point(3,2,1)
# print(p1.x)
# print(p1.y)
# print(p1,p2)

#花色和数字
# Card = namedtuple('card',['suits','number'])
# c1 = Card('红桃',2)
# print(c1)
# print(c1.number)
# print(c1.suits)

#队列
# import queue
# q = queue.Queue()
# q.put([1,2,3])
# q.put(5)
# q.put(6)
# print(q)
# print(q.get())
# print(q.get())
# print(q.get())
# print(q.get()) # 阻塞
# print(q.qsize())

# from collections import deque
# dq = deque([1,2])
# dq.append('a') # 从后面放数据 [1,2,'a']
# dq.appendleft('b') # 从前面放数据 ['b',1,2,'a']
# dq.insert(2,3) #['b',1,3,2,'a']
# print(dq.pop()) # 从后面取数据
# print(dq.pop()) # 从后面取数据
# print(dq.popleft()) # 从前面取数据
# print(dq)

#有序字典
# from collections import OrderedDict
# od = OrderedDict([('a', 1), ('b', 2), ('c', 3)])
# print(od) # OrderedDict的Key是有序的
# print(od['a'])
# for k in od:
# print(k)

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

 

#计算时间差
import time
true_time = time.mktime(time.strptime('2019-06-11 09:30:00','%Y-%m-%d %H:%M:%S'))
now_time = time.mktime(time.strptime('2019-06-12 12:00:00','%Y-%m-%d %H:%M:%S'))
print(true_time,now_time)
dif_time = now_time - true_time
struct_time = time.gmtime(dif_time)
stf_time = time.strftime('%Y-%m-%d %H:%M:%S',struct_time)
print(stf_time)
print('过去了%d年%d月%d天%d小时%d分钟%d秒'%(struct_time.tm_year-1970,struct_time.tm_mon-1,
struct_time.tm_mday-1,struct_time.tm_hour,
struct_time.tm_min,struct_time.tm_sec))
#生成随机验证码
import time,random
def choice():
code = ''
for i in range(5):
R = random.randint(0,9)
S = chr(random.randint(65,90))
add = random.choice([R,S])
code = "".join([code,str(add)])
return code
print(choice())


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('你可以使用计算器了')



转载于:https://www.cnblogs.com/Murraya/p/11026464.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值