zoukankan      html  css  js  c++  java
  • python学习day21 模块和包

    #序列化模块
        #数据类型转化成字符串的过程
        #为了方便存储和网络传输
        #三种模式:
            #json:
                #dumps
                #loads
                #dump 和文件有关
                #load  不能load多次
                # import json
                # data = {'username':['梨花','二恶能子'],'sex':'male','age':16}
                # json_dic = json.dumps(data,sort_keys=True,indent=4,separators=(',',':,'),ensure_ascii=False)
                # print(json_dic)
            #pickle:
                #方法与json一样
                #dump和load的时候,文件是以rb,wb
                #支持python所有的数据类型
            #shelve:
                #open方法
                #获取了一个文件句柄
                #操作和字典类似
    # 把解决一类问题的模块放在同一个文件夹里 —— 包
    # import os
    # os.makedirs('glance/api')
    # os.makedirs('glance/cmd')
    # os.makedirs('glance/db')
    # l = []
    # l.append(open('glance/__init__.py','w'))
    # l.append(open('glance/api/__init__.py','w'))
    # l.append(open('glance/api/policy.py','w'))
    # l.append(open('glance/api/versions.py','w'))
    # l.append(open('glance/cmd/__init__.py','w'))
    # l.append(open('glance/cmd/manage.py','w'))
    # l.append(open('glance/db/models.py','w'))
    # map(lambda f:f.close() ,l)
    
    # import glance.api.policy as policy
    # policy.get()
    #
    # from dir.glance.api import policy
    # policy.get()
    
    # import sys
    # sys.path.insert(0,'C:\Users\Administrator\PycharmProjects\s9\day21\dir')
    # # print(sys.path)
    # from glance.api import policy
    # policy.get()
    
    # from dir import glance
    # glance.db.models.register_models('mysql')
    # glance.api.policy.get()
    
    # 使用绝对路径 不管在包内部还是外部 导入了就能用
    # 不能挪动,但是直观
    
    # from dir import glance
    # glance.api.policy.get()
    # 相对路径
    # 可以随意移动包 只要能找到包的位置,就可以使用包里的模块
    # 包里的模块如果想使用其它模块的内容只能使用相对路径,使用了相对路径就不能在包内直接执行了
    
    # 1/0
    # name
    # 2+'3'
    # [][3]
    #{}['k']
    # try:
    #     print('1111')
    #     # 1/0
    #     print('2222')
    #     # name
    #     # 2+'3'
    #     # [][3]
    #     # {}['k']
    #     ret = int(input('number >>>'))
    #     print(ret*'*')
    # except ValueError:
    #     print('输入的数据类型有误')
    # except Exception:
    #     print('你错了,老铁')
    # else:
    #     print('没有异常的时候执行else中的代码')
    # print('===========')
    # def func():
    #     try:
    #         f = open('file','w')
    #         ''''''
    #         return True
    #     except:
    #         return False
    #     finally:
    #         print('执行finally了')
    #         f.close()
    #
    # print(func())
    
    
    
    
    
    # 程序一旦发生错误,就从错误的位置停下来了,不在继续执行后面的内容
    # 使用try和except就能处理异常
        #try是我们需要处理的代码
        #except 后面跟一个错误类型 当代码发生错误且错误类型符合的时候 就会执行except中的代码
        #except支持多分支
        #有没有一个能处理所有错误的类型 : Exception
            # 有了万能的处理机制仍然需要把能预测到的问题单独处理
            # 单独处理的所有内容都应该写在万能异常之前
        # else : 没有异常的时候执行else中的代码
        # finally : 不管代码是否异常,都会执行
            # finally和return相遇的时候 依然会执行
            # 函数里做异常处理用,不管是否异常去做一些收尾工作
    
    
    # try:
    #     main()
    # except Exception:
    #     pass
    
    # try:
    #     print('1111')
    #     # 1/0
    #     print('2222')
    #     # name
    #     # 2+'3'
    #     # [][3]
    #     # {}['k']
    #     ret = int(input('number >>>'))
    #     print(ret*'*')
    # except Exception as error:
    #     print('你错了,老铁',error)
  • 相关阅读:
    爱奇艺首页导航轮播特效
    闭包的应用
    时间日期Date类型
    php连接数据库
    封装cookie.js、EventUtil.js、
    时间日期格式
    mysql数据库修改密码
    jquery选择器的使用
    用js完成blog项目
    Hibternate框架笔记
  • 原文地址:https://www.cnblogs.com/wujunjie-sir/p/9235869.html
Copyright © 2011-2022 走看看