• python基础之模块初识


      Python的强大之处在于他有非常丰富和强大的标准库和第三方库,几乎你想实现的任何功能都有相应的Python库支持

    一、time模块和datetime模块

    和时间有关系的我们就要用到时间模块。在使用模块之前,应该首先导入这个模块。

    常用方法:

    #time模块
    import time
    # time.sleep()  #让程序停一会,休眠时间***
    print(time.time())  #获取当前时间戳;返回一个以秒为单位的浮点数

    表示时间的三种方式

    在Python中,通常有这三种方式来表示时间:时间戳、元组(struct_time)、格式化的时间字符串:

    (1)  时间戳(timestamp) :通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。——给计算机看的

    #时间戳:1545276241.5708632  49年*356天*24月*3600秒

    (2)格式化的时间字符串(Format String): ‘1999-12-06’      ——字符串形式;给人看的

    (3)结构化的时间(struct_time):struct_time元组共有9个元素共九个元素:(年,月,日,时,分,秒,一年中第几周,一年中第几天,夏令时)   ;元祖形式 ;是做计算用的

    import time
    # print(time.time())  #获取当前时间戳;返回一个以秒为单位的浮点数
    print(time.time()) #时间戳:1545276241.5708632
    print(time.localtime()) #本地时区的struct_time
    print(time.strftime("%Y-%m-%d %H:%M:%S"))  # 格式化的时间字符串:'2018-12-20 11:30:50'
    print(time.strftime("%Y-%m-%d %X"))  # 格式化的时间字符串:'2018-12-20 11:30:50' X:表示小时分钟秒

    时间加减模块:datetime

    #datetime
    import datetime
    print(datetime.datetime.now())    # 当前的时间
    #  datetime用法
    print(datetime.datetime.now()+datetime.timedelta(days=3))    # 取3天后的时间
    print(datetime.datetime.now()+datetime.timedelta(days=-3))   # 取3天前的时间
    print(datetime.datetime.now()+datetime.timedelta(hours=3))  # 取3小时后的时间
    print(datetime.datetime.now()+datetime.timedelta(minutes=3)) # 取3分钟后的时间
    print(datetime.datetime.now()+datetime.timedelta(seconds=3)) # 取3秒后的时间

    二、random模块

    import random
    print(random.random())      #(0,1)----float    大于0且小于1之间的小数
    print(random.randint(1,3))    #[1,3]    大于等于1且小于等于3之间的整数
    print(random.randrange(1,3))  #[1,3)    大于等于1且小于3之间的整数
    print(random.choice([1,'23',[4,5]]))  #1或者23或者[4,5]
    print(random.uniform(1,3)) #取任意范围的浮点型  大于1小于3的小数,如1.927109612082716

    练习1:剪刀石头布

    #!/usr/bin/env python
    # -*- coding:utf-8 -*-
    # Author: Renyz
    import random
    # 导入随机数
    player = input('请输入:剪刀(0)  石头(1)  布(2):')   #判断用户的输入,然后显示对应的结果
    player = int(player)    #提示用户并输入
    computer = random.randint(0,2)  #让电脑出一个,随机生成0,1,2任何一个值
    #判断玩家胜出的条件
    if ((player == 0) and (computer == 2)) or ((player ==1) and (computer == 0)) or ((player == 2) and (computer == 1)):
        print('获胜,哈哈,你太厉害了')
    # elif 玩家平局的条件
    elif player == computer:
        print('平局,要不再来一局')
    else:
        print('输了,不要走,洗洗手接着来,决战到天亮')

     练习2:生成随机验证码(用到了函数)

    import random
    def v_code(): # 验证码一般用循环 数字和字母相平的验证码
        res="" # 验证码是字符串 首先有个初始值
        for i in range(5): #5表示验证码5个随机数
            num = random.randint(0,9) # 取到的数字
            alf = chr(random.randint(65,90))  #chr chr()函数是输入一个整数【0,255】返回其对应的ascii符号
            s = str( random.choice([num, alf]) )  # 做字符的转换
            # res += random.choice([num, alf])  # 让字母和数字随机拼接起来,choice在s1和s2里面随机选择一个。
            res +=s # 这是上面步骤的简写
        return res  # 返回的是字符串平接的结果
    print(v_code())  # 调用函数
    -------------------------------------------------------------------------------
    KN8NJ

    补充:

    ord()函数主要用来返回对应字符的ascii码,chr()主要用来表示ascii码对应的字符他的输入时数字

    In [2]: ord('A')
    Out[2]: 65
    
    In [3]: ord('Z')
    Out[3]: 90
    
    In [4]: ord('a')
    Out[4]: 97
    
    In [5]: ord('z')
    Out[5]: 122
    
    In [7]: chr(65)
    Out[7]: 'A'
    
    In [8]: chr(122)
    Out[8]: 'z'

    三、文件路径os模块

    import os
    
    #getcwd获取当前路径,即当前python脚本工作的目录路径
    # print(os.getcwd())
    
    #chdir改变路径,相当于shell下的cd
    # print(os.getcwd())
    # os.chdir("..")
    # print(os.getcwd())
    
    #mkdir -p
    # os.makedirs("test/test1")
    # os.chdir("test/test1")
    # print(os.getcwd())
    
    # mkdir   新建目录,只能建一层
    # os.mkdir("test")
    
    # rmdir 只能删除单级目录为空的文件夹
    # os.rmdir("test")
    
    # listdir    列出指定文件夹下面所有的文件夹和文件包括隐藏文件,以列表方式打印出来
    # print(os.listdir(r"C:UsersAdministrator.USER-20190512NQDesktoppython项目django_a"))
    
    # removedirs  若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依次类推
    # os.removedirs('dirname1/dirname2')
    # remove 删除指定的一个文件 # os.remove("test/test.py") #rename重命名 # os.rename("chengzeyu.txt","程泽宇.txt") #os.stat查看文件详细信息 # print(os.stat("程泽宇.txt")) #exists判断一个文件或者是目录是否存在 # res = os.path.exists(r'C:UsersAdministrator.USER-20190512NQDesktoppython项目django_a emplate1') # print(res) #echo $?:0代表正常,非0代表不正常(os模块最好用的一种方法system)***** # cmds = ['ls -ltr','df -h','ifconfig ens33 192.168.254.250/24'] # for cmd in cmds: # res = os.system(cmd) # if res == 0: # continue # else: # break # os.path.join是拼接完整路径 # BASE_DIR = r' ootetc' # FILE = 'chengzeyu.txt' # new_path = os.path.join('root/etc','a.txt') # print(new_path)
  • 相关阅读:
    EXTJS7 自定义日期时间选择输入框
    EXTJS7 store数据格式预处理
    EXTJS7 eventedConfig用法
    nginx 反向代理端口号丢失处理
    EXTJS7 引入treegrid包
    EXTJS7 自定义配置延迟初始化
    EXTJS7 解决无法绑定父组件ViewModel问题
    EXTJS7 combobox 下拉加载数据源码
    EXTJS7 可拖拉布局分割条
    EXTJS7 combobox本地模式 动态修改选项
  • 原文地址:https://www.cnblogs.com/renyz/p/11524145.html
Copyright © 2020-2023  润新知