Python import

终极解决import包方法:

需要注意的是,你有几层目录结果就用几个 os.path.pardir  ...我这里是三层目录结果. atm_shop/atm/core

import sys,os

BASE_DIR = os.path.normcase(os.path.join(os.path.dirname(os.path.abspath(__file__)),os.path.pardir,os.path.pardir))
sys.path.append(BASE_DIR)
print(BASE_DIR)

 

注意: 最好不要使用import 导入自己写的模块, 建议使用 from...import导入自己写的模块。否则很可能出现报错。

 

导入包

可以在init.py中加入 模块名来实现 from api import *

import会触发执行__init__.py

导入自己写的模块,有两种方式: 绝对路径 和 相对路径

from glance.api import policy  绝对路径,需要注意的是: 路径需要从顶层开始写

from .api import policy 相对路径,需要注意的是:程序入口文件不能使用相对导入

 

 

import反射

方法一:

__import__("str")  (解释器调用)

可以将字符串解析为模块名 进行导入,经常用在 让用户输入一个模块,就导入什么模块

方法二:

import importlib (推荐使用这个)

importlib.import._module("str")

posted @ 2017-02-11 18:27  Vincen_shen  阅读(241)  评论(0)    收藏  举报