• random模块、time模块、sys模块、os模块


    一、random模块

    1.随机取小数     (数学计算)

    print(random.random())  #取0-1之间的小数
    print(random.uniform(3,6))   #uniform(n,m)取一个范围之间的小数

    2.取随机整数       (抽奖)

    print(random.randint(1,2))  #顾头顾尾 或 [1,2]
    print(random.randrange(1,2))  #顾头不顾尾 [1,2)
    print(random.randrange(1,100,2)) #取1-99之间的奇数


    3.从一个列表中随机抽取值     (抽奖)

    lis = ['a','b',(1,2,3),123,456]
    print(random.choice(lis))   #从列表中随机抽取一项元素
    lis = ['a','b',(1,2,3),123,456]
    print(random.sample(lis,2))   #从列表中随机抽取两项元素

    choice直接用两次与sample一次取两个元素的区别:
    lis = ['a','b',(1,2,3),123,456]
    print(random.choice(lis))
    print(random.choice(lis))
    print(random.sample(lis,2))

    choice两次取到的值可能是相同的,而sample一次取到的两个元素是不相同的,也就是说:sample取到的值是不重复的

    4.打乱一个列表的顺序,在原来列表的基础上进行修改,节省空间          (洗牌)

    random.shuffle(lis)
    print(lis)


    二、time模块

    1.时间戳时间

    print(time.time())

    2.结构化时间

    print(time.strftime("%Y-%m-%d"))
    print(time.strftime("%y-%m-%d"))
    print(time.strftime('%c'))

    3.时间戳时间转换成字符串时间(格式化时间)

    cishi = time.time()      #此刻的时间戳
    struct_time = time.localtime(cishi)   #将时间戳时间转成结构化时间
    timestamp = time.strftime("%Y-%m-%d %H:%M:%S",struct_time)    #将结构化时间转成格式化时间
    print(timestamp)

    4.将字符串时间转换成时间戳时间

    struct_time = time.strptime("2018-8-20","%Y-%m-%d")   #将格式化时间转换成结构化时间
    print(time.mktime(struct_time))    #再转换成时间戳时间

    5.练习题

    (1) 查看一下2000000000时间戳时间表示的年月日

    struct_time = time.localtime(2000000000)
    result = time.strftime("%Y-%m-%d",struct_time)
    print(result)

    (2) 将2018-8-20换成时间戳时间

    struct_time = time.strptime("2018-8-20","%Y-%m-%d")
    print(time.mktime(struct_time))

    (3) 请将当前时间的当前月1号的时间戳时间取出来 - 函数

    def get_time():
        struct_time = time.localtime()
        ret = time.strptime("%s-%s-1"%(struct_time.tm_year,struct_time.tm_mon),"%Y-%m-%d")
        return time.mktime(ret)
    print(get_time())

    (4) 计算时间差 - 函数 2018-8-19 22:10:8 2018-8-20 11:07:3 经过了多少时分秒

    t1 = '2018-8-19 22:10:8'
    t2 = '2018-8-20 11:07:3'
    struct_time1 = time.strptime(t1,'%Y-%m-%d %H:%M:%S')
    struct_time2 = time.strptime(t2,'%Y-%m-%d %H:%M:%S')
    timestamp1 = time.mktime(struct_time1)
    timestamp2 = time.mktime(struct_time2)
    result = timestamp2-timestamp1
    gm_time = time.gmtime(result)    #伦敦时间
    print('过去了%d年%d月%d天%d小时%d分钟%d秒'%(gm_time.tm_year-1970,gm_time.tm_mon-1, gm_time.tm_mday-1,gm_time.tm_hour,gm_time.tm_min,gm_time.tm_sec))

    三、sys模块 (是和python解释器打交道的)

    1.sys.argv

    print(sys.argv)   #argv是python这个命令后面的值
    usr = sys.argv[1]
    pwd = sys.argv[2]
    if usr == 'alex' and pwd=='alex3741':
        print("登陆成功")
    else:
        exit()

    2.sys.path
    3.sys.modules

    print(sys.modules)
    print(sys.modules['re'].findall("d+","abc123"))  #我们导入内存中所有模块的名字,这个模块的内存地址

    四、os模块  (是和操作系统交互的模块)

    1.

    os.makedirs('dir1/dir2')
    os.mkdir('dir3')
    os.mkdir('dir3/dir4')

    2.只能删空文件夹

    os.rmdir('dir3/dir4')
    os.removedirs('dir3/dir4')
    os.removedirs('dir1/dir2')

    3.程序要处理这些路径

    ret = os.popen('dir) # 是和做查看类的操作
    s =ret.read()
    print(s)
    print(s.split('
    '))
     os.listdir / os.path.join
     file_lst = os.listdir('D:sylars15')
    for path in file_lst:
        print(os.path.join('D:sylars15',path))

    print('-->',os.getcwd())  # current work dir 当前工作目录
    并不是指当前文件所在的目录
    当前文件是在哪个目录下执行的
     ret = os.popen('dir') # 是和做查看类的操作
     s =ret.read()
     print(s)

    os.chdir('D:sylars15day18')  # 切换当前的工作目录
    ret = os.popen('dir') # 是和做查看类的操作
    s =ret.read()
    print(s)
  • 相关阅读:
    Python str转化成数字
    MySQL之CONCAT()的用法
    MySQL之LIMIT用法
    MySQL中LOCATE用法
    设计模式-模版方法
    设计模式-单例模式
    设计模式-桥接模式
    UML图标含义及记忆方法
    redis-分布式锁-消除竞争条件
    redis-分布式锁-刷新信号量
  • 原文地址:https://www.cnblogs.com/sypx/p/9508027.html
Copyright © 2020-2023  润新知