• python模块之time_random


    把老师的资料放在最上面:

    参考: http://www.cnblogs.com/yuanchenqi/articles/5732581.html

    导入模块的方法:

    #!/usr/bin/env python
    # coding:utf-8
    
    # import cal,time # 可以使用,隔开,导入多个。
    ## import 做了两件事:
    # 1. 执行对应文件
    # 2. 引入变量名
    
    # print(cal.add(3,5))
    # print(cal.sub(3,5))
    
    
    ## from cal import *  #不建议这么使用。 并不知道里面有哪些函数
    
    #
    # from cal import add # 这种导入方法,可以直接使用函数
    # from cal import sub
    #
    #
    # print(add(5,8))
    # print(sub(6,5))
    #!/usr/bin/env python
    # coding:utf-8
    
    ## 模块的种类 :
    # 1. 内置模块
    # 2. 第三方模块
    # 3. 自定义模块
    
    # time 和 sys 模块是内置在python解释器内的,找不到相应的文件; 而os  re 等模块,则在python36/Lib目录下,以文件形式存在。
    
    ### 包 和 文件夹 的区别: 是否有 __init__.py 文件
    
    # from web.web2.web3 import p2w
    #
    # print(p2w.p2w(3,3))
    import sys
    sys.path.append("D:/python3") # 临时将某个路径加入 如果需要永久加入,则需要修改环境变量

    print(sys.path)
    # 导入多级包下的模块 from web.web2.web3.p2w import p2w print(p2w(4,4)) # from web.web2 import web3 # 不支持的调用方式。仅执行 web3 __init__ 文件。 # print(web3.p2w.p2w(3,2))

    注意 __name__ 的用法:仅在本文件中执行时,值为"__main__"  被调用时,则值为模块名(文件名)

    #!/usr/bin/env python
    # coding:utf-8
    
    from my_mod import ma
    
    # ma.run()
    
    ## 模块的种类 :
    # 1. 内置模块
    # 2. 第三方模块
    # 3. 自定义模块
    
    ### 包 和 文件夹 的区别: 是否有 __init__.py 文件
    
    if __name__ =="__main__": # 假设将当前脚本作为主函数,仅可执行,不允许被调用。 可以避免反复调用带来的坑
        ma.run()

      

    导入子文件夹中的模块,注意路径问题:

    my_mod下的 ma.py文件:

    #!/usr/bin/env python
    # coding:utf-8
    
    # import cal # 直接执行本文件时,用此方式导入
    
    # from my_mod import cal  # 被上一级调用时,用此方式导入。
    
    import sys,os
    
    BASE_DIR=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
    
    print(BASE_DIR)
    print(os.path.abspath(__file__)) # 本文件的绝对路径
    
    #  加入项目所在路径, 同时解决本身的运行和被调用时的路径问题。
    sys.path.append(BASE_DIR)
    
    from my_mod import cal
    
    def run():
        print(cal.add(7,5))
    
    run()

    my_mod文件夹下的cal.py文件:

    #!/usr/bin/env python
    # coding:utf-8
    
    # print('before...')
    
    def add(x,y):
        return x+y
    
    
    def sub(x,y):
        return x-y
    
    # print('end....')
    if __name__ == "__main__": # 用于本文件的调试
        print('testing....')

    random 随机模块:

    #!/usr/bin/env python
    # coding:utf-8
    
    import random
    
    print(random.random())  # (0,1)----float    大于0且小于1之间的小数
    
    print(random.randint(1, 5))  #    大于等于1且小于等于5之间的整数
    
    print(random.randrange(1, 5))  #   大于等于1且小于5之间的整数
    
    print(random.choice([1, '23', [4, 5]]))  # 随机选一个
    
    print(random.sample([11,22,33,44,55], 2))  # 列表元素任意2个组合
    print(random.sample([1, '23', [4, 5]], 2))  # 列表元素任意2个组合
    
    print(random.uniform(1, 3))  # 大于1小于3的小数,如1.927109612082716
    
    item = [1, 3, 5, 7, 9,11]
    random.shuffle(item)  # 打乱item的顺序,相当于"洗牌"
    print(item)
    
    def v_code(): ## 实现验证码函数
        ret = ""
        for i in range(6): # 长度6位
            num = random.randint(2,9) # 舍掉易混淆的01
            alp = chr(random.randint(65,90)) # 只取了大写字母
            s = str(random.choice([num,alp]))
            # s = str(random.choice([2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','J','K','L','M','N','P','Q','R','S','T','U','V','W','X','Y','Z']))
            ret += s
        return ret
    
    print(v_code())

    时间模块 time

    #!/usr/bin/env python
    # coding:utf-8
    
    ### 参考: http://www.cnblogs.com/yuanchenqi/articles/5732581.html
    
    import time
    import datetime
    
    print(time.time())
    
    print(time.localtime()) # 结构化时间, 当地时间
    print(time.localtime(1515123456)) # 传入时间戳参数
    tm = time.localtime()
    print("%s-%s-%s" % (tm.tm_year,tm.tm_mon,tm.tm_mday))
    
    print(time.gmtime())
    
    
    print(time.mktime(time.localtime())) # 将结构化时间转成时间戳
    
    
    print(time.strftime("%Y-%m-%d %X",time.localtime())) # 将结构化时间转成字符串时间
    
    
    print(time.strptime('2018-05-23 07:35:34',"%Y-%m-%d %X")) # 将字符串时间转为结构化时间
    
    
    print(time.asctime()) # 输出固定格式时间
    print(time.ctime())
    
    
    print(datetime.datetime.now())
  • 相关阅读:
    webStorm Ctrl+s 自动格式化 然后 保存 用宏命令
    vuez init webStorm vscode
    Node + Express + MySQL 接口开发完整案例
    sysUpload.vue上传组件 的时候 看进度的时候 不要mock 注释掉 // if (process.env.NODE_ENV !== 'production') require('@/mock')
    目录下 shift 右键菜单 打开cmd 或者在 地址栏输入cmd 回车进入cmd
    xls表格 拼接字段 拼json =CONCAT("{ code:'",A2,"',","codeName: '",B2,"',","flag: '",C2,"'},")
    js 数组过滤 filter
    libs/tools.js stringToDate dateToString 日期字符串转换函数
    vue 组件内 directives指令的调用方式 <base-table v-auto-height:tableHeight="{vm:this, diffHeight:ahTable.diffHeight}"
    油猴 tamperMonkey 在百度首页 添加自己的自定义链接
  • 原文地址:https://www.cnblogs.com/frx9527/p/python_mod.html
Copyright © 2020-2023  润新知