创建如下目录结构
keystone/
├── __init__.py
└── auth
    ├── __init__.py
    └── plugins
        └── core.py

core.py内容为:

def create():
        print("create函数被调用")

class UserAuthInfo:

def __init__(self):
           
self.password = None

要求一:保证包keystone可以在任意位置被导入
要求二:import keystone,然后就可以直接调用keystone.create和keystone.UserAuthInfo

#keystone目录下的__init__文件

from .auth.plugins.core import create
from .auth.plugins.core import UserAuthInfo import sys,os
base_dir=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(r"base_dir")
#test文件,处于任意路径运行结果均相同

import keystone
keystone.create()
--->create函数被调用 print(keystone.UserAuthInfo)
---><class 'keystone.auth.plugins.core.UserAuthInfo'>

详细请参考博客末尾内容,单独调用包。http://www.cnblogs.com/xuyaping/p/6797032.html

最新文章

  1. ASP.NET Core 中文文档 第二章 指南(4.5)使用 SQL Server LocalDB
  2. java.lang.reflect.Constructor
  3. Visual Studio中设置默认VC++路径
  4. linux下重启oracle服务:监听器和实例
  5. Web- HTML网页颜色大全
  6. JSP-tag文件使用介绍
  7. TabHost理解与使用
  8. [转载]ecshop 实现订单导出功能 指定订单导出 EXCEL 数据文件
  9. Groovy学起来,这要和GRAILS,RUNDECK打成一片
  10. CentOS7怎么更换yum源
  11. Spring BeanDefinitionRegistryPostProcessor BeanPostProcessor作用
  12. 利用ssh操控远程服务器
  13. leetcode144-先序遍历非递归实现
  14. jenkins配置邮件 -- com.sun.mail.smtp.SMTPSenderFailedException: 550 5.7.1 Client does not have permissions to send as this sender
  15. bootstrap-select 多选下拉框使用教程
  16. 牛客小白月赛7 B 自杀游戏
  17. vue 上传单个图片自定义增加progress改良用户体验
  18. HDFS核心设计
  19. 使用C#把Tensorflow训练的.pb文件用在生产环境
  20. 【比赛】HNOI2018 转盘

热门文章

  1. 根据已经commit的数据,进行leader和peon之间的同步
  2. AtCoder Petrozavodsk Contest 001
  3. 九度oj 题目1458:汉诺塔III
  4. 【Luogu】P2765魔术球问题(没看懂的乱搞)
  5. [LOJ#6002]「网络流 24 题」最小路径覆盖
  6. Java面试题之final、finally和finalize的区别
  7. bzoj1433 [ZJOI2009]假期的宿舍 最大流
  8. djang中的request.user对象中的方法
  9. 37深入理解C指针之---结构体与指针
  10. Tomcat是怎么工作的(1) -- 开篇