zoukankan      html  css  js  c++  java
  • day19模块

    # 正则表达式
    # 字符组 [字符]
    # 元字符
    # w d s
    # W D S
    # . 除了换行符以外的任意字符
    #
    # 
    # ^ $ 匹配字符串的开始和结束
    # () 分组 是对多个字符组整体量词约束的时候用的
    #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:UsersAdministratorPycharmProjects')
    # 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:UsersAdministrator','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('你可以使用计算器了')



  • 相关阅读:
    Android Studio 单刷《第一行代码》系列 05 —— Fragment 基础
    Android Studio 单刷《第一行代码》系列 04 —— Activity 相关
    Android Studio 单刷《第一行代码》系列 03 —— Activity 基础
    Android Studio 单刷《第一行代码》系列 02 —— 日志工具 LogCat
    Android Studio 单刷《第一行代码》系列 01 —— 第一战 HelloWorld
    IDEA 内网手动添加oracle,mysql等数据源,以及server returns invalid timezone错误配置
    eclipse maven设置
    IntelliJ IDE 常用配置
    eclipse maven 常见问题解决方案
    Maven 安装和配置
  • 原文地址:https://www.cnblogs.com/Murraya/p/11026464.html
Copyright © 2011-2022 走看看