zoukankan      html  css  js  c++  java
  • python(30)——【random模块】【if __name__ =='__main__'】【os模块】

    一、random模块(随机模块)

    1.random 常用模块介绍

    import random
    print(random.random())
    #返回[0,1)之间的随机浮点数
    print(random.randint(2, 4))
    #返回一个[2,4]内的随机整数
    print(random.choice([1, [20, 23], 66, 4]))
    #返回可迭代对象中的任意一个元素
    print(random.sample([1, [20, 23], 66, 4], 2))
    #返回可迭代对象中的任意N个且不重复的元素(通过第二个参数改变返回的元素个数)
    print(random.uniform(1 ,3))
    #返回[1,3)之间的随机浮点数
    #随机指定序列的顺序(类似于洗牌)
    import random
    item = [1, 2, 3, 4, 5]
    random.shuffle(item)
    print(item)

    2.random 模块应用

    #六位随机验证码的产生

     1 import random
     2 def v_code():
     3     ret = ''
     4     for i in range(6):
     5         num = random.randint(0, 9)                      #随机产生0-9数字
     6         alf1 = chr(random.randint(65, 90))              #随机产生大写字母A-Z
     7         alf2 = chr(random.randint(97, 122))             #随机产生小写字母a-z
     8         s = str(random.choice([num, alf1, alf2]))       #数字和字母随机选取
     9         ret += s
    10     return ret
    11 print(v_code())

    二、if __name__ =='__main__'的一些补充

    之前有在这篇博客中有提到相关内容:https://www.cnblogs.com/guoruxin/p/10109621.html

    做一些相关补充:

    cal.py中的内容如下:

    A = 5.20
    print(__name__)
    if  __name__=='__main__':
        def add_cal(x,y):
            return x + y + A

    当test.py作为执行文件时,执行结果如下:
    __main__

    结论:当test.py作为执行文件时,__name__==__main__


    当test.py作为模块被导入时

    from cal import A
    print(A)
    #执行结果如下:
    cal
    5.2

     

    结论:当test.py作为模块被导入时,__name__==cal,即__name__==被调用模块的模块名

    三、os模块

    os.getcwd() #获取当前工作目录,即当前python脚本工作的目录路径
    #举例:
    import os
    os.getcwd()
    #执行结果:
    D:UsersXIAOHuoguoPycharmProjectsTF_Learningos_module
    View Code
    os.os.chdir() #改变当前脚本工作目录,相当于shell下的cd
    #举例:
    import os
    print(os.getcwd())
    os.chdir("D:/Users/XIAOHuoguo/PycharmProjects/TF_Learning/random_module")
    print(os.getcwd())
    #执行结果:
    D:UsersXIAOHuoguoPycharmProjectsTF_Learningos_module
    D:UsersXIAOHuoguoPycharmProjectsTF_Learning
    andom_module
    View Code
    os.curdir #返回当前目录:相当于‘.’
    
    os.pardir    #获取当前目录的父目录字符串名,相当于‘..’
    os.makedirs('dirname1/dirname2/dirname3') #可生成多层递归目录
    #举例:
    import os
    os.makedirs('test1/test2/test3')
    View Code
    os.removedirs() #若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依次类推
    #注意:
    若删除的目录不为空,则报错
    #举例:
    os.removedirs('D:/Users/XIAOHuoguo/PycharmProjects/TF_Learning/os_module/test1/test2/test3')
    View Code
    os.mkdir()    #生成单级目录,相当于shell中mkdir dirname
    os.rmdir() #删除单级空目录,若目录不为空则无法删除则无法删除,报错,相当于shell中rmdir dirname

    #注意:在删除同级目录下的目录时,在os.removedirs() 和 os.rmdir()中,而直接写目录名即可,不同级需要添加删除目录的绝对路径。

    os.listdir()    #列出指定目录下所有文件和子目录,包括隐藏文件,并以列表方式打印
    os.remove()    #删除一个文件
    os.rename('oldname','newname')    #重命名文件/目录

    #注意:修改不是同级目录的文件名时,需要在newname前添加目标绝对路径,否则修改结果会改变其绝对路径

    os.stat()    #获取文件/目录信息
    #举例:
    import os
    print(os.stat('os_test.py'))
    
    #执行结果:
    os.stat_result(st_mode=33206, st_ino=10696049115057371, st_dev=3231772741, st_nlink=1, st_uid=0, st_gid=0, st_size=655, st_atime=1551927079, st_mtime=1551927079, st_ctime=1551880901)
    
    #结果分析:(时间显示为时间戳格式)
    st_size=655 #该文件所占字节
    st_atime=1551927079    #用户上一次访问时间
    st_mtime=1551927079    #用户上一次修改时间
    st_ctime=1551880901    #创建时间
    os.sep    #输出操作系统特定的路径分隔符,win下为‘\’,Linux下为‘/’
    
    os.linesep    #输出当前平台使用的行终止符,win下为‘
    ’,Linux下为‘
    ’
    
    os.pathsep    #输出用于分割文件路径的字符串,win下为‘ ;’,Linux下为‘ :’
    
    os.name    #输出字符串指示当前使用平台。win-->'nt',Linux-->‘poaix’
    
    os.system('bash command')    #运行shell命令,直接显示
    
    os.environ    #获取系统环境变量
    
    os.path.abapath(path)    #返回path规范化的绝对路径
    
    os.path.split(path)    #将path分割成目录和文件名二元组返回(第一个元素为目录,第二个元素为文件名)
    
    os.path.dirname(path)    #返回path的目录,其实就是os.path.split(path)的第一个元素
    
    os.path.basename(path)    #返回path的文件名,其实就是os.path.split(path)的第二个元素(如果path以/或者结尾,name就会返回空值)
    
    os.path.exists(path)    #如果path存在,则返回True;如果path不存在,则返回False
    
    os.path.isabs(path)    #如果path是绝对路径,返回True
    
    os.path.isfile(path)    #如果是存在的文件,返回True;否则返回False
    
    os.path.isdir(path)    #如果是存在的目录,返回True;否则返回False
    os.path.join(path1[, path2[, ...]]) #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略

    #涉及到路径拼接,应该考虑到使用join(拼接的时候尽量使用join,而不要使用+号)

    举例:
    a = 'D:/Users/XIAOHuoguo/PycharmProjects'
    b = 'TF_Learning/os_module/os_test.py'
    print(os.path.join(a, b))
    #执行结果如下:
    D:/Users/XIAOHuoguo/PycharmProjects/TF_Learning/os_module/os_test.py
    os.path.getatime(path)    #返回path所指向的文件或者目录的最后存取时间
    
    os.path.getctime(path)    #返回path所指向的文件或者目录的最后修改时间
  • 相关阅读:
    浏览器行为:Form表单提交
    js中new到底做了什么?如何重写new?
    vue与react对比
    关于css中touch-action属性 在移动端开发中遇到的问题
    国际化:node导语言包
    django 开发忘记密码通过邮箱找回功能
    django 通过ajax完成邮箱用户注册、激活账号
    django 通过ajax完成登录
    django 通过邮箱和用户名都能登录
    django引入模板时,部分css文件渲染不成功失灵引入不成功
  • 原文地址:https://www.cnblogs.com/guoruxin/p/10490997.html
Copyright © 2011-2022 走看看