zoukankan      html  css  js  c++  java
  • 6. Python 模块

    模块其实就是一个python文件
    python导入模块的顺序
    1. 从当前目录下找需要导入的python文件
    2. 从python的环境变量中找 sys.path
    当前目录和sys.path中都有import文件时,优先看当前目录的python文件。
    1、标准模块(标准包):python自带的模块,直接import就能用的
    string , random ,datetime ,os, json
    2、第三方模块,别人写好的一些模块,要安装之后才可以用
    1)傻瓜式安装
    pip install pymysql
    2)手动安装
    到百度搜索安装包,如安装redis.
     
    whl结尾的安装包
    下载完成后,在下载文件夹的地址栏中输入cmd,即可打开当前目录命令行,输入命令:pip install redis-2.10.6-py2.py3-none-any.whl
    .tar.gz结尾的安装包
    如果是下载的redis-2.10.6.tar.gz,解压后,进入目录,在地址栏输入cmd
    在命令行运行:python setup.py install
     
    3、自己写的python文件,当作一个模块来引用
     
     
    random模块
    import random,string
    print(string.printable) #代表 数字+字母+特殊字符
    print(random.randint(1,100)) #随机取整数
    print(round(random.uniform(1,99),2)) #取随机小数,加round取2位小数
    print(random.choice([1,2,3,4])) #只能随机取1个元素
    print(random.sample(string.printable,5)) #随机取N个元素,返回的是list
    #洗牌
    pickts = ['A','J','Q','K',2,3,4,5,6]
    random.shuffle(pickts) #只能传list
    print(pickts)
     
     
    json模块
    json串格式校验:http://www.bejson.com
    1、json串 转成一个字典:load
    import json
    #json串是一个字符串
    f = open('product.json',encoding='utf-8')
    res = f.read() #用json.loads()要先读一次,变成字符串
    product_dic = json.loads(res) #json.loads() 只能传一个字符串,把json串变成python的数据类型:字典
    print(type(product_dic)) #已转换成字典类型
    print(product_dic)
    print(product_dic.get('product_info'))
     
    import json
    #json串是一个字符串
    f = open('product.json',encoding='utf-8')
    print(json.load(f)) #只传一个文件对象,自动读取文件,直接操作文件
     
    2、字典转换一个json串:dump
     
    d = {
    "iphone":{
    "color":"red",
    "num":1,
    "price":98.5
    },
    "wather":{
    "num":100,
    "price":1,
    "color":"white"
    }
    }
     
    import json
    fw = open('product.json', 'w', encoding='utf-8')
    dic_json = json.dumps(d, ensure_ascii=False, indent=4) #字典转换成json,变成字符串,ensure_ascii=False 显示中文,INDENT = indent = 4
    fw.write(dic_json)
     
    也可以写成:
    import json
    fw = open('product.json', 'w', encoding='utf-8')
    json.dump(d,fw,ensure_ascii=False,indent=4)
     
    dump是直接对文件进行操作,dumps是对字典进行操作
     
    时间模块
    #时间戳:
    #1. 从unix元年到现在过了多少秒
    #2.格式化好的时间
    import time
    print(time.time())
    # time.sleep(1)
    today = time.strftime('%Y-%m-%d %H:%M:%S')
    # today = time.strftime('%y-%m-%d %H:%M:%S')
    print(today)
     
    #时间戳 转换 时间:
    # 1. 要先转换成时间元组
    #2.再把时间元组转成成格式化的时间
    print(time.gmtime()) #默认取的是标准时区的时间,不传时默认标准时区的时间戳
    print(time.localtime()) #默认取的是当前时区的时间,不传时默认当前时区的时间戳
    s = time.localtime(1524299155)
    print(time.strftime('%Y-%m-%d %H:%M:%S',s))
     
    时间戳转换格式化时间的函数
    def timestamp_to_fomat(timestamp = None,format = '%Y-%m-%d %H:%M:%S'):
    if timestamp:
    time_tuple = time.localtime(timestamp)
    res = time.strftime(format,time_tuple)
    else:
    res = time.strftime(format)
    return res
     
    print(timestamp_to_fomat())
    print(timestamp_to_fomat(19732649413))
     
    # 时间转换成时间戳
    #1.把格式化的时间转换成时间元组
    #2.把元组转换成时间戳
    res = time.strptime('20180421','%Y%m%d')
    print(res)
    print(time.mktime(res))
     
    格式化时间转换时间戳的函数:
    # 时间转换成时间戳
    #1.把格式化的时间转换成时间元组
    #2.把元组转换成时间戳
    res = time.strptime('20180421','%Y%m%d')
    print(res)
    print(time.mktime(res))
     
    def strToTimestamp(str = None,format = '%Y%m%d'):
    if str:
    tp = time.strptime(str,format)
    res = time.mktime(tp)
    else:
    res = time.time()
    return int(res)
     
    print(strToTimestamp())
    print(strToTimestamp('2018-02-15','%Y-%m-%d'))
     
    datetime 模块
    import datetime
    print(datetime.datetime.today()) #获取当前时间,精确到秒
    print(datetime.date.today()) #精确到天
    day = datetime.date.today() + datetime.timedelta(days=5)
    print(day)
     
    min = datetime.datetime.today() + datetime.timedelta(days=1,minutes=5,seconds=5,weeks=1)
    print(min)
     
    print(min.strftime('%Y-%m-%d'))
     
    加密模块
    import hashlib
    m = hashlib.md5()
    # print(m.__doc__) #查看有哪些方法
    print(m.hexdigest()) #对空加密
     
    passwd = 'aaa123'
    print(passwd.encode()) #把字符串转换成bytes类型,加密不能对字符串进行加密,要转换成bytes类型
    m.update(passwd.encode())
    print(m.hexdigest())
    #md5加密是不可逆的
     
    网上md5解密是采用的撞库来查询的。
    def my_md5(srt):
    import hashlib
    new_str = str.encode() #把字符串转换层buytes类型
    m = hashlib.md5() #实例化md5对象
    m.update(new_str) #加密
    return m.hexdigest() #获取结果返回
     
     
     
  • 相关阅读:
    什么是MongoDb
    Python之人工智能:PyAudio 实现录音 自动化交互实现问答
    Python人工智能之初识接口
    cordova(安卓)(腾讯信鸽注册绑定与反绑定) 插件开发
    sencha touch 在安卓中横屏、竖屏切换 应用崩溃问题
    Sencha Touch 实战开发培训 电子书 基础篇
    wps 批量调整图片大小 宏
    使用 crosswalk-cordova 打包sencha touch 项目,再也不用担心安卓兼容问题!
    Sencha Cmd 5.0.1.231 是坑爹货
    sencha touch api 使用指南
  • 原文地址:https://www.cnblogs.com/pengzhuopeng/p/8893901.html
Copyright © 2011-2022 走看看