zoukankan      html  css  js  c++  java
  • 时间模块 随机函数 os模块 sys模块

    # 取随机小数
    # print(random.random()) #取得就是0到1之间 没啥用
    # print(random.uniform(3,4)) #设置两个数 n f 之间的小数

    # 取随机整数
    # print(random.randint(1, 4)) #随机取一个整数 下面有对比
    # print(random.randrange(1, 4)) #4取不到 只是一个摆设 1到3之间随机
    # print(random.randrange(1, 100)) #1到99随机取
    # print(random.randrange(1,100,2)) #也可以再加一位 就是步长 那就只能取到奇数了

    #随机抽取 下面 列表也是可以的
    # l = (1,2,3,4,5,6,7,(3,4),'alex','single') #这个随机抽取很好用 每个抽到几率都是一样的
    # ret = random.choice(l)
    # print(ret)

    # ret = random.choice(range(1,100))
    # print(ret)
    # ret = random.sample(l,3) #从l这个元祖中 随机抽3个值出来,不会有重复的,比如说抽三个一样的
    # print(ret)

    # 乱序 不支持元祖 目前只试了 列表 是支持的
    # l = [1,2,3,4,5,6,7,(3,4),'alex','single']
    # random.shuffle(l)
    # print(l)


    # ret = random.sample(range(0,10),6) 自己想的 垃圾方法 不能取到相同的 不合逻辑
    # print(ret)
    # code = ''
    # import random
    # for i in range(6):
    # num = random.randint(0,9)
    # code+= str(num)
    # print(code)

    #变成函数
    # def get_code(n=6): #这里用默认参数 省很多数
    # code = ''
    # import random
    # for i in range(n):
    # num = random.randint(0,9)
    # code+= str(num)
    # return code
    # r1 = get_code(4)
    # r2 = get_code()
    # print(r1,r2)


    # 65-90 A-Z# 97-122 a-z
    # def foo(n = 6):
    # code = ''
    # for i in range(n):
    # num = random.randint(0,9)
    # letter = random.randint(65,90)
    # chr(letter)
    # letter2 = random.randint(97, 122)
    # chr(letter2)
    # qq = random.choice((num,chr(letter),chr(letter2)))
    # code+= str(qq)
    # return code
    # r1 = foo()
    # print(r1)

    # -------老师的做法
    # 请你生成一个6位验证码(数字 和 字母)
    # 字母怎么生成 chr(65) 'A'
    # print(chr(65))
    # 生成一个随机字母
    # 65-90 A-Z
    # num = random.randint(65,90)
    # print(chr(num))
    # 97-122 a-z
    # num = random.randint(97,122)
    # print(chr(num))

    # 每一位上出现的内容既可以是数字 也可以是字母
    # 随机生成一个数字 一个大写字母 一个小写字母
    # def get_code(n):
    # code = ''
    # for i in range(n):
    # num = str(random.randint(0,9))
    # alpha_upper = chr(random.randint(65, 90))
    # alpha_lower = chr(random.randint(97, 122))
    # c = random.choice([num,alpha_upper,alpha_lower])
    # code += c
    # return code
    # ret = get_code()
    # print(ret)

    # 可以纯数字 也可以纯字母
    # def get_code(n=6,a = True):
    # code = ''
    # for i in range(n):
    # c = str(random.randint(0,9))
    # if a:
    # alpha_upper = chr(random.randint(65, 90))
    # alpha_lower = chr(random.randint(97, 122))
    # c = random.choice([c,alpha_upper,alpha_lower])
    # code += c
    # return code
    # ret = get_code(a=False)
    # print(ret)

    # -----------------------------import os 模块
    import os
    # os.mkdir('abc') #创建文件夹 但是很垃圾只能创建一个
    # os.makedirs('a/b') #创建两个文件夹 a文件夹里有一个b文件夹 ('a/b/c')也可以在增加

    # os.rmdir('abc') #删除文件夹 但是如果文件夹里还有东西 那就不能删除,很安全的考虑
    # os.removedirs('a/b') #要删除文件夹 这个方法 会确定是空文件夹才能删除

    # ret = os.listdir('D:骑士') #获取这个目录下的所有文件,和文件夹名字,还有隐藏文件
    # print(ret)

    # print(os.stat('D:骑士')) #坚持这个文件上次的修改时间

    # --------和路径相关模块
    # ret = os.path.abspath('D:骑士venvScriptspython.exe D:/骑士/day23/01.py')
    # print(ret)#右边路径干干是倾斜方向不对,应该照着我的电脑里的那种,这个模块可以改过来,不然的话只有python解释器能懂
    # ret2 = os.path.abspath('day23/01.py') #帮你转成绝对路径
    # print(ret2)

    # aaa = 'D:骑士 envScriptspython.exe D:骑士day231.py'
    # ret3 = os.path.split(aaa)
    # print(ret3) #得到一个元组,('D:\骑士\day23', 'day23x01.py') 可以自动识别分割

    # ret = os.path.dirname(aaa) #得到前面一半
    # print(ret)
    # ret1 = os.path.basename(aaa) # 得到后面一半
    # print(ret1)

    # ret = os.path.exists('D:骑士day9')
    # print(ret) #判断这个文件路径 是否存在

    # r = os.path.isfile('D:骑士day9') #判断是不是文件
    # r1 = os.path.isdir('D:骑士day9') #判断是不是文件夹
    # print(r,r1)

    # r1 = os.path.join('D:/骑士/day9','day999')
    # print(r1) #D:/骑士/day9day999 拼接路径 但是斜杆不对了
    # #就用这个#os.path.abspath('D:/骑士/day9day999') 跨平台,在不同的平台需要拼接这个路径

    # os.path.getatime() #返回path指向文件或者目录的最后访问时间
    # os.path.getmtime() #返回path指向文件或者目录的最后修改时间

    # 非常重要
    # ret = os.path.getsize('D:骑士day9')
    # print(ret) #文件夹大小不准确的值 4096
    # 在windows 文件夹创建出来就是4096字节 假设存满它就扩大一倍8192,这个不算文件夹里有多大,只是有了东西就占这么大
    # 在linux
    # 在mac 文件夹初始值占得大小 32或者64 +16

    # os.system('bash command')
    # os.popen('bash comand').read()
    # os.getcwd()
    # os.chdir('dirname')


    # ret = os.system('dir') #以字符串的形式来执行操作系统的命令
    # print(ret)

    #print(os.getcwd()) #不是当前被执行的文件所在的目录,而是执行这个文件所在的目录


    sys 模块
    sys.argv
    执行这个 打印出当前这个目录的绝对路径 得到一个列表形式的
    可以再后面 或者前面加 字符串什么的, 就可以达到 执行这个文件的同时,可以检验后面两个变量对不对,这样就可以做成一个登陆功能




    sys.path
    print(sys.path) 找他存在的内存地址,找到就返回,能够找出很多目录。
    一个模块是否被导入,就看这个模块所在的目录在不在sys.path路径中
    内置模块和第三方扩展模块都不需要我们处理sys.path就可以直接使用
    自定义的模块的导入工作需要自己手动的修改sys.path

    sys.modules
    查看当前内存空间中所有的模块,和这个模块的内存空间。













  • 相关阅读:
    进程控制
    进程的状态与转换
    进程的概念和特征
    操作系统的体系结构:大内核和微内核
    系统调用
    中断和异常
    【转】Java-----jar反编译修改重新打包
    [转] Android Volley完全解析(一),初识Volley的基本用法
    [转] This Android SDK requires Android Developer Toolkit version 23.0.0 or above
    Can't bind to local 8700 for debugger报错和解决
  • 原文地址:https://www.cnblogs.com/single82/p/9589182.html
Copyright © 2011-2022 走看看