python 库 类_在Python中导入库类
我有以下项目层次结构:
project_dir
lib
__init__.py
...
some_script.py
...
agent
__init__.py
...
errors.py
some_agent_script.py
...
lib / agent / erros.py中有SomeException类定义
我使用以下代码在lib / agent / some_agent_script.py中导入它们:
from errors import SomeException
我还使用以下代码在lib / some_script.py中导入
from agent.errors import SomeException
问题是当我在lib / agent / some_agent_script.py中引发SomeException时,lib / some_script.py无法在except块中捕获它:
try:
# Here comes a call to lib/agent/some_agent_script.py function
# that raises SomeException
except SomeException, exc:
# Never goes here
print(exc)
except Exception, exc:
print(exc.__class__.__name__) # prints "SomeException"
# Let's print id's
print(id(exc.__class__))
print(id(SomeException))
# They are different!
# Let's print modules list
pprint.pprint(sys.modules)
我可以在sys.modules中看到erros模块被导入了两次:第一个是’agent.errors’键,第二个是’lib.agent.errors’键
以下代码是正确的,但它不是一个漂亮的解决方案:
agent_errors = sys.modules.get('agent.errors')
from agent_errors import SomeException
try:
# Here comes a call to lib/agent/some_agent_script.py function
except SomeException:
print('OK')
我该怎么做才能让这个模块不要导入两次?
python 库 类_在Python中导入库类相关推荐
- python库名_在python存储库名称和包名称中使用连字符/破折号 - python
我试图使我的git仓库pip可安装.为此,我正在重组仓库以遵循正确的约定.通过查看其他存储库,我的理解是,我应该将所有源代码放在与存储库名称相同的软件包中.例如.如果我的存储库称为myrepo,则源代 ...
- python库排行榜_使用python landport库快速实现排行榜
背景介绍 排行榜业务使用的频率实在太高了,各种活动都会使用排行榜.经过多次开发后我觉得实现一个简单的排行榜库,它能够完成当前我遇到的所有业务逻辑问题,也希望能够帮助到想要快速开发排行榜业务的同行. 我 ...
- python 概率分布模型_使用python的概率模型进行公司估值
python 概率分布模型 Note from Towards Data Science's editors: While we allow independent authors to publis ...
- python 时间序列预测_使用Python进行动手时间序列预测
python 时间序列预测 Time series analysis is the endeavor of extracting meaningful summary and statistical ...
- python网络构建_使用Python构建Hopfield网络的教程
热的东西显然会变凉.房间会会人沮丧地变得凌乱.几乎同样,消息会失真.逆转这些情况的短期策略分别是重新加热. 做卫生和使用 Hopfield 网络.本文向您介绍了三者中的最后一个,它是一个只需要特定的参 ...
- 阿里云服务器搭建python web环境_《Python入门》Linux 下 Python Web开发环境搭建笔记-阿里云开发者社区...
之前写过 Windows 7下Python Web开发环境搭建笔记,今天写一下在Linux系统下搭建Python Web的开发测试环境. 我使用的系统是:ubuntu 14.04 server,根据个 ...
- python社区版可以用库么_应用Python,你不但能够得到出色的小区适用和普遍的库集...
哪样计算机语言最好是?这个问题很有可能始终不容易找答案.萝卜青菜,各有所好,AI技术工程师和生物学家能够依据新项目必须,从诸多计算机语言中挑选最合适自身的. 选Python還是选Java?2020年, ...
- python编辑程序模型_用Python的SimPy库简化复杂的编程模型的介绍
在我遇到 SimPy 包的其中一位创始人 Klaus Miller 时,从他那里知道了这个包.Miller 博士阅读过几篇提出使用 Python 2.2+ 生成器实现半协同例程和"轻便&qu ...
- python选择题题目_《Python程序设计》题库 - 选择题
一.基础知识 1 . Python 语言属于( ) . C A . 机器语言 B . 汇编语言 C .高级语言 D .科学计算语言 2 .下列选项中,不属于 Python 特点的是( ) . B A ...
- python requests 重定向_认识Python最最最常用语重要的库Requests
Requests库是Python爬虫中最最最最最最重要与常见的库,一定要熟练掌握它.下面我们来认识这个库 Requests requests是Python最为常用的http请求库,也是极其简单的.使用 ...
最新文章
- STAR: ultrafast universal RNA-seq aligner STAR:超快的通用RNA-seq比对器
- 突破磁盘低级检测实现文件隐藏
- 块存储,文件存储和对象存储
- GitHub热门教程:100天搞定机器学习(中文版)
- python打包脚本_py2exe打包python脚本
- FreeSql与SqlSugar性能测试对比
- Codeforces 920E-Connected Components? (set,补图,连通块)
- 社保基金入市规模或达3000亿元
- 项目管理工具 web_14个用于改善项目的Web工具
- Android Studio实现音乐播放器2.0
- 安卓为什么卡及其解决方案
- Win10 Terminal 背景图片设置
- 目前最值得推荐的几款黑科技APP,快来收藏吧!
- Android之开发者模式配置全面(解决打开了开发者模式,程序还是不能烧进手机问题)
- 数字视频编解码基础知识大全
- Ubuntu1604上使用Qt远程调试arm开发板
- 基于HTML+CSS+JavaScript+Bootstarp响应式健身网站(web前端期末大作业)
- 小米计算机无法清除,小米蓝牙怎么删除不常用设备
- matlab自学笔记一(台大郭彦甫)
- 新纪元财务、进销存一体化软件 v4.0 官方