您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python中覆盖名称空间

在Python中覆盖名称空间

你先用导入 :

>>> __import__('temp/a40bd22344')
<module 'temp/a40bd22344' from 'temp/a40bd22344/__init__.py'>

然后,确保该模块被Python识别为project

>>> import sys
>>> sys.modules['project'] = sys.modules.pop('temp/a40bd22344')

之后,当前Python会话中的任何导入项目都将获得原始模块

>>> import project
>>> project
<module 'temp/a40bd22344' from 'temp/a40bd22344/__init__.py'>

这也适用于子模块:如果在同一位置有foobar.py,则将获得

>>> import project.foobar
>>> project.foobar
<module 'project.foobar' from 'temp/a40bd22344/foobar.py'>

这是我正在运行的:

>>> print sys.version
2.5.2 (r252:60911, Jul 31 2008, 17:28:52) 
[GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)]
python 2022/1/1 18:39:57 有252人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶