python(34)- 模块与包练习
2024-09-29 22:25:01
创建如下目录结构
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
最新文章
- ASP.NET Core 中文文档 第二章 指南(4.5)使用 SQL Server LocalDB
- java.lang.reflect.Constructor
- Visual Studio中设置默认VC++路径
- linux下重启oracle服务:监听器和实例
- Web- HTML网页颜色大全
- JSP-tag文件使用介绍
- TabHost理解与使用
- [转载]ecshop 实现订单导出功能 指定订单导出 EXCEL 数据文件
- Groovy学起来,这要和GRAILS,RUNDECK打成一片
- CentOS7怎么更换yum源
- Spring BeanDefinitionRegistryPostProcessor BeanPostProcessor作用
- 利用ssh操控远程服务器
- leetcode144-先序遍历非递归实现
- jenkins配置邮件 -- com.sun.mail.smtp.SMTPSenderFailedException: 550 5.7.1 Client does not have permissions to send as this sender
- bootstrap-select 多选下拉框使用教程
- 牛客小白月赛7 B 自杀游戏
- vue 上传单个图片自定义增加progress改良用户体验
- HDFS核心设计
- 使用C#把Tensorflow训练的.pb文件用在生产环境
- 【比赛】HNOI2018 转盘
热门文章
- 根据已经commit的数据,进行leader和peon之间的同步
- AtCoder Petrozavodsk Contest 001
- 九度oj 题目1458:汉诺塔III
- 【Luogu】P2765魔术球问题(没看懂的乱搞)
- [LOJ#6002]「网络流 24 题」最小路径覆盖
- Java面试题之final、finally和finalize的区别
- bzoj1433 [ZJOI2009]假期的宿舍 最大流
- djang中的request.user对象中的方法
- 37深入理解C指针之---结构体与指针
- Tomcat是怎么工作的(1) -- 开篇