python引用其他文件提示找不到模块_Python:为什么导入的模块不能引用另一个导入的模块?...
如果您以这种方式修改了subtwo.py,那么它将起作用
import subone
print subone.a
当你在subtwo.py中执行subone.a时,你试图访问subtwo.py和命名空间“subone”中的命名空间subone,应该有一个属性“a”.
当你这样做 – 在subtwo.py中导入subone时,subone被添加到命名空间,subone命名空间有属性a.所以subone.a会起作用.
我还建议您使用dir()来查看如何添加命名空间.
在subtwo.py中,您可以执行以下操作:
print dir()
import subone
print dir()
print subone.a
同样,尝试在import语句之前和之后添加“print dir()”,这个想法应该变得清晰.
“import x” adds ‘x’ to the current modules
namespace while “from x import * ” will
add all the module level attributes
directly into current module namespace
所以在上面的main.py,subone.py和subtwo.py的第一个例子中,main.py中的命名空间将包含’subone’和’subtwo’,而subtwo.py将具有空命名空间,并且无法访问subone.a .
[编辑:更多解释]
考虑以下文件:
main.py
print "Before importing subone : ", dir()
import subone
print "After importing subone and before importing subtwo: ", dir()
import subtwo
print "After importing subone and subtwo: ", dir()
subone.py
a = 'abc'
subtwo.py
print dir()
import subone
print "module level print: ", subone.a
print dir()
def printX():
print subone.a
并运行main.py的输出:
Before importing subone : ['__builtins__', '__doc__', '__file__', '__name__', '__package__']
After importing subone and before importing subtwo: ['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'subone']
['__builtins__', '__doc__', '__file__', '__name__', '__package__']
module level print: abc
['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'subone']
After importing subone and subtwo: ['__builtins__', '__doc__', '__file__', '__name__', '__package__', 'subone', 'subtwo']
Some Observations
>您会注意到导入模块subtwo.py,会立即执行print语句.>因此,当在main.py中导入subone和subtwo时,main.py的命名空间会被扩充.>这并不意味着将增加subtwo的命名空间.所以“a”只能通过subone.a在main.py中使用>当我们在subtwo.py中导入subone时,subwo的命名空间用subone增加,而subow.py中的module subone属性可通过subone.a获得.
python引用其他文件提示找不到模块_Python:为什么导入的模块不能引用另一个导入的模块?...相关推荐
- python终端命令执行提示找不到自定义模块
python终端命令执行提示找不到自定义模块 描述一下遇到的问题: 平常在用pyhton做开发写代码的时候,我们大多数都是直接是编辑器中操作的(pycharm.eclipse.sublime等),其中 ...
- python进阶14文件路径(找不到文件)
原创链接:python进阶14文件路径(找不到文件) 开发时遇到问题,文件路径不正确,找不到文件等等,都是这一类问题. curdir,argv,file 举例: 文件1代码: 1 2 3 4 5 6 ...
- 解决PyCharm中opencv的cv2不显示函数引用,高亮提示找不到引用
类似这种,鼠标放在高亮处会提示在 '__init__.py' 中找不到引用之类的,图截的别人的,我的已经弄好了截不了 先确定下imread()等方法是否能用,我发现我之前的问题其实是输入cv2.之后不 ...
- jar调用dll文件提示找不到指定的模块Unable to load library
目录 问题描述 解决方案一 解决方案二 效果 补充说明 参考链接 问题描述 在Windows系统上,自己开发的需要使用JNA调用动态链接库dll文件的Swing项目(Java简易系统监视器system ...
- python 读写csv文件(创建、追加、覆盖)_python文件操作
大神一看题目就知道用python中的string.split('\'),记得之前处理大量的文件的时候,有时候有几十万的文本文件,经常会读取获取名称,并且保存为名字一样的另外一种格式的文件 其实pyth ...
- python如何读取文件中第一行的元素_python txt读取第一行数据库
带你读<Python数据分析与数据化运营(第2版)>之一:Python和数据化运营 点击查看第二章点击查看第三章Python数据分析与数据化运营(第2版) 宋天龙 著 第1章 Python ...
- dos系统不能安装python模块_dos窗口运行python文件提示找不到模块
python day1 常用模块 键盘输入: python2.7 raw_input() python3 input() 键盘输入默认为字符串,可通过例如 int(input())方式,实现类型转换. ...
- python中打开文件提示编码当时错误_Python:文件编码错误
从几天开始,我就在用Python编写的小程序中处理这个烦人的问题.在 我经常使用MediaWiki-最近我做文档从.doc到Wikisource的转换.在 在Libre Office中打开micros ...
- 无法删除文件提示找不到指定文件导致文件无法删除的解决方法
之前下载个文件,资源有误,删除时发现无法找到该文件,只能眼睛看到,电脑却找不到路径. 试过安全模式删除,试过粉碎机,也试过DOS的del命令,都不得行.而注册表找不到对应键值. 最后网上看到这个方法, ...
最新文章
- 知识图谱学习笔记(1)
- 瑞雪时晴,不亦快哉 ——图灵十一月月刊
- python开发面试题目_Python测试开发面试笔试题
- faceboxes笔记
- python适合零基础学习吗-Python适合不适合零基础学习呢?老男孩教育
- Android JNI编程(三)——C语言指针的初步认识、指针变量、互换两个数、函数返回多个值...
- gitclone 一个tag的地址_一个无锁队列和FreeList实现
- Marketing Cloud tile的semantic信息
- php的变量、传值、传址、销毁变量
- JS静态变量和静态函数
- python函数的继承_Python 继承
- LeetCode 85.最大矩形
- Objective-C的动态特性
- Python根据mask在原图上进行标记
- 一个小问题(语法分析中的括号匹配)
- python物理模拟.pdf_用Python物理建模的第一本书终于来啦
- 小程序如何生成海报分享朋友圈
- 这可能是目前最好用的p2p外网访问内网软件(免费内网穿透)
- (十六)soul源码的自定义插件
- python股市回测程序
热门文章
- ASP.NET Core MVC 源码学习:Routing 路由
- asp.net core 认证及简单集群
- Exceptionless 本地部署
- 3d数学基础图形与游戏开发 英文版_1850款文字标题字幕条,AE图形预设包,logo生成神器...
- Sublime Text 3 import Anaconda 无法正常补全模块名解决办法
- 网页用数学公式编辑器 可以集成到FCKeditor
- ArcGIS实验教程——实验三十八:基于ArcGIS的等高线、山体阴影、山顶点提取案例教程
- 【ArcGIS风暴】数字化实验:数据采集与编辑完整操作流程
- Android之靠谱的Activity从底部向上弹出,finish从顶部向下消失(不黑屏)
- linux网络编程之用多线程实现客户端到服务端的通信(基于udp)