1、循环导入问题
2、py文件的两种用途
3、模块的搜索路径优先级
4、软件开发的目录规范
# py文件的两种用途:
#1、直接运行
#2、被当作模块导入
# 模块的搜索路径与查找优先级
# (1) 先从内存中已经导入的模块里找
# import mmm
# mmm.f1()
#
# import time
# time.sleep(15)
#
# print('='*50)
# import mmm
# mmm.f1()
# (2) 然后再查找内置的模块
# import sys
# print(sys.modules)
# import sys
# print(sys.path)
# 当前执行文件所在的文件夹
# import logging
# print(logging)
# (3) 最后去sys.path列表中存放的多个文件夹里依次检索
# 示例1:
# import sys
# print(sys.path)
# sys.path.append(r'D:\python全栈15期\aaa\bbb')
#
# import ccc
#
# ccc.f1()
# 示例2:
# import sys
# print(sys.path)
# import aaa.bbb.ccc as c
# c.f1()
# from aaa.bbb import ccc
# ccc.f1()
# print(__name__) # 当文件被当作脚本直接执行时,__name__值为"__main__"
# print(__name__) # 当文件被当作模块导入时,__name__值为"模块名"
# if __name__ == '__main__':
# print("文件被当作脚本执行时要做的事")
# f1()
# f2()
# json模块
# json: 是一个第三方的数据格式
# Python: 八大数据类型 int float str list.
# 序列化:
# Python程序产生的数据 ---> json数据格式 ---> 字符串 ---> 写入文件中(数据,可以共享)
# 反序列化
# 比如: 其他语言的程序想要使用Python产生的数据
# 从硬盘中的文件中读取数据 ---> 字符串 ---> json数据格式 ---> 转为其他语言的数据类型
# 比如: Python想要使用这份数据
# 从硬盘中的文件中读取数据 ---> 字符串 ---> json数据格式 ---> Python的数据类型
# import json
# 序列化
# user_info = {'name': 'tank', 'pwd': '123', 'bal': 15000, 'shop_car': [], 'bank_flow': [], 'locked': False}
# # 打开文件
# with open('user.json', 'w', encoding='utf-8') as f:
#
# # json.dump(Python数据, 文件打开后的f句柄)
# json.dump(user_info, f)
# 反序列化
# with open('user.json', 'r', encoding='utf-8') as f:
#
# # json.load(文件打开后的f句柄)
# user_info = json.load(f)
# print(user_info)
# 软件开发的目录规范