python 包
# 模块
# import 模块名
# from 模块名 import 名字
# __name__: 当前文件指的是__name__所在的文件
# 执行的是当前文件,name是__main__,
# 当前文件被导入,name是自己的模块名
# sys.path
# 一个模块能不能被导入,就看sys.path中是否有这个模块所在的绝对路径
# 导入不成功 :
# print(sys.path)
# import 模块
# 修改sys.path
# 修改import语句
# 不能循环导入
# 所有的模块导入,都相当于把要导入的模块中的代码放到被直接执行的文件下执行了
# 包 导入的包的开始的包也必须在sys.path的路径中
# 从包中导入模块
# import 包.包.....模块
# from 包.包 import 模块 # 推荐
# from 包.包 import * # 不推荐 如果要非要使用,可以在被导入的模块中使用 __all__ =['功能名']
# 直接导入包
# 相当于执行了__init__.py
# 在__init__.py文件中做一些导入设置,才能保证导入包的时候能够使用这个包中的模块
详解参考: https://www.cnblogs.com/Eva-J/articles/7292109.html#4131238
# 添加自定义环境变量
# 包中添加环境变量 lst = __file__.split('/') # 当前路径进行分割 print(lst) base_path = '/'.join(lst[:-2]) # 组合指定层级 print(base_path) sys.path.append(base_path) # 添加到环境变量 print(sys.path) userinfo = '/'.join([base_path,'db','userinfo']) # 拼接路径 print(userinfo)

浙公网安备 33010602011771号