• Python学习基础常用模块


    一、模块

    一个python文件就是一个模块,文件名称就是模块名。

    1、模块分类:

    标准库:python自带的,直接用import导入,例如random,json,os,datetime,string等

    第三方模块:别人写好的,要安装才能导入的模块。安装方法:

    1)pip install 模块名

    2)使用pycharm安装,如图:

    3)下载whl或tar.gz安装包进行安装

    地址:https://pypi.org/project/redis/

    以whl结尾的安装包:pip install  安装包名

    以.tar.gz结尾的安装包:

     解压这个压缩包

     进入到这个解压之后的文件夹里面

     在命令行里面运行 python setup.py install 

    自定义模块:自己写的python文件。(自己写的文件尽量不要和标准模块重名,调用时会优先调用自己写的文件)

    2、导入模块

    导入模块的实质:就是把这个python文件从头到尾执行一遍

    import ddlog #导入模块
    from ddlog import *  #导入该模块中的所有方法,慎用
    from ddlog import fun #就是把ddlog打开,然后把他它里面的fun方法拿过来使用
    from ddlog import fun as xxx_fun #导入指定的方法,然后起别名
    from ddlog import fun1,fun2,fun3 #导入模块下的多个方法

    二、sys模块

    sys用于解决Python运行时环境的不同问题.

    import sys
    print(sys.platform)  #判断操作系统
    
    #path获取python的环境变量
    #sys.path.append(r'E:\syz\ly-code\day5')
    # sys.path.insert(0,r'E:\syz\ly-code\day5')
    print(sys.path) #获取python环境变量
    print(sys.argv)  #用来获取命令行里面运行python文件的时候传入的参数
    print(sys.version)  #获取Python解释程序的版本信息

    三、os模块

    用于提供系统级别的操作

    #os对操作系统的一些操作
    import os
    print(os.getcwd())#取当前工作目录
    os.chmod("x.py",2)#给文件/目录加权限,对Windows的下面不好使(1:执行,2:写,4:读)
    print(os.chdir("../day5"))#更改当前目录
    print(os.getcwd())
    
    print(os.makedirs("nhy/python"))#递归创建文件夹,父目录不存在时创建父目录
    print(os.mkdir("zll/diao"))#创建文件夹,父目录不存在时报错
    # makedirs 创建文件夹的时候,如果父目录不存在会自动帮你创建父目录
    print(os.removedirs("nhy/python"))#递归删除空目录
    print(os.rmdir("test2"))#删除指定的文件夹,文件夹不存在时报错
    os.remove("test2")#只能删除文件
    os.rmdir('test2') #只能删文件夹
    
    print(os.listdir('e:\\'))#列出一个目录下的所有文件
    os.rename("test","test1")#重命名
    print(os.stat("x.py"))#获取文件信息
    print(os.sep)#当前操作系统的路径分隔符
    
    print(os.linesep)#当前操作系统的换行符   \n  \r\n
    print(os.pathsep)#当前系统的环境变量中每个路径的分隔符,linux是:,windows是;
    print(os.environ)#当前系统的环境变量
    print(os.name)#当前系统名称  Windows系统都是nt linux都是posix
    res = os.system('ipconfig')  #执行操作系统命令的,但是获取不到结果
    res = os.popen('ipconfig').read()  #可以获取到命令执行的结果

     四、random模块

    import random,string 
    random.random() # 随机浮点数,默认取0-1,不能指定范围
    random.uniform(1,9) # 随机取浮点数,可以指定范围
    random.randint(1,3) # 随机整数,包含1和3
    random.randrange(0,101,5) # 随机生成一个整数,参数1为开始数字,参数2为结束数字,参数3为随机数字的倍数
    random.choice('dsx') # 随机取一个元素,choice的参数可以是list、字符串、元组等
    random.sample('dsx',2) # 随机从序列中取几个元素,参数可以是list、字符串、元组等
    x = [1,2,3,4,6,7]
    random.shuffle(x)#洗牌,打乱顺序,会改变原list的值
    print(x)
    print(string.ascii_letters+string.digits)#所有的数字和字母

    五、time、datetime模块

    time和datetime模块主要用于操作时间

    时间有三种表示方式,一种是时间戳(通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量)、一种是格式化时间、一种是时间元组

    import datetime,time        
    print(time.timezone)#和标准时间相差的时间,单位是s
    print(time.sleep(1))#休息几s
    print(time.time())#获取当前时间戳
    print(time.gmtime())#把时间戳转换成时间元组,如果不传的话,默认取标准时区的时间戳
    print(time.localtime())#把时间戳转换成时间元组,如果不传的话,默认取当前时区的时间戳
    print(time.mktime(time.localtime()))#把时间元组转换成时间戳
    print(time.strftime('%Y-%m-%d %H:%M:%S'))#将时间元组转换成格式化输出的字符串
    print(time.strftime('%Y%m%d%H%M%S',time.localtime(1530436245 - 259200)))
    print(time.strptime("20160204 191919","%Y%m%d %H%M%S"))#将格式化的时间转换成时间元组
    
    print(time.struct_time)#时间元组
    print(time.asctime())#时间元转换成格式化时间
    print(time.ctime())#时间戳转换成格式化时间
    import datetime
    print(datetime.date.today()) #当天的日期,只有日期
    print(datetime.datetime.today())  #当天的时间,有日期有时间
    print(datetime.datetime.now())#当前时间格式化输出
    print(datetime.date.today() + datetime.timedelta(days=10))#10天后的时间
    print(datetime.datetime.now()+datetime.timedelta(3))#3天后的时间
    print(datetime.datetime.now()+datetime.timedelta(-3))#3天前的时间

    res = datetime.datetime.today() + datetime.timedelta(hours=-10,minutes=-20) #有日期有时间,取10小时前、20分钟前的时间
    print(res.time()) #只取到时间
    print(res.date())#只取到日期
    print(res.timestamp()) #时间戳
    print(res.strftime('%Y-%m %H:%M:%S'))#取到格式化好的时间
    #1、时间戳转格式化好的时间
        # 1、首先要把时间戳转成时间元组
        # 2、再把时间元组转成格式化好的时间
    def timestampToStr(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
        if timestamp:
            time_tuple = time.localtime(timestamp)  # 转成时间元组
            return time.strftime(format,time_tuple) #把时间元组,转成格式化好的时间
        return time.strftime(format)
    
    #2、格式化好的时间,转时间戳,
        #1、首先要把格式化好的时间 转成时间元组
        #2、再把时间元组转成时间戳
    def strToTimestamp(format_time=None,format='%Y%m%d%H%M%S'):
        if format_time:
            time_tuple = time.strptime(format_time, format)#把格式化好的时间,转成时间元组
            return int(time.mktime(time_tuple))
        return int(time.time())

    六、hashlib模块

    hashlib模块,主要用于加密相关的操作,在python3的版本里,代替了md5和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法。

    import hashlib
    s='123nhy456_++dfsdfsd'
    # s.encode() 转化为bytes类型
    m = hashlib.md5(s.encode()) #必须得传一个bytes类型的
    print(m.hexdigest()) #获取到加密后的结果,16进制格式
    print(m.digest()) #2进制格式
    
    def myMd5(s):
        s = str(s)
        m = hashlib.md5(s.encode()) #必须得传一个bytes类型的
        return m.hexdigest()
    #md5不可逆
    #所有一样的字符串,md5之后的结果都是一样的
  • 相关阅读:
    [CF451E] Devu and Flowers
    [CF1038E] Maximum Matching
    [CF825E] Minimal Labels
    [CCPC2020绵阳L] Lottery
    [CCPC2020绵阳K] Knowledge is Power
    [CCPC2020绵阳J] Joy of Handcraft
    [CCPC2020绵阳G] Game of Cards
    [CCPC2020绵阳D] Defuse the Bombs
    [CF1082E] Increasing Frequency
    [CF301B] Yaroslav and Time
  • 原文地址:https://www.cnblogs.com/ddxxn/p/9444461.html
Copyright © 2020-2023  润新知