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)
posted @ 2019-10-17 13:32  pathping  阅读(150)  评论(0)    收藏  举报