Python中文
首页
教程
问答
标签
搜索
登录
注册
python中的包内模块加载
回答此问题可获得
20
贡献值,回答如果被采纳可获得
50
分。
<p>我刚开始使用python,在理解包内模块加载的搜索路径时遇到了困难。我有这样的结构:</p> <pre><code>top/ Top-level package __init__.py Initialize the top package src/ Subpackage for source files __init__.py pkg1/ Source subpackage 1 __init__.py mod1_1.py mod1_2.py ... pkg2/ Source subpackage 2 __init__.py mod2_1.py mod2_2.py ... ... test/ Subpackage for unit testing __init__.py pkg1Test/ Tests for subpackage1 __init__.py testSuite1_1.py testSuite1_2.py ... pkg2Test/ Tests for subpackage2 __init__.py testSuite2_1.py testSuite2_2.py ... ... </code></pre> <p>在testSuite1_1中,我需要导入mod1_1.py模块(依此类推)。我应该使用什么导入语句? Python的官方教程(在docs.python.org,第6.4.2)节规定:</p> <p>如果在当前包(当前模块是其子模块的包)中找不到导入的模块,import语句将查找具有给定名称的顶级模块</p> <p>我认为这意味着我可以使用(在testSuite1_1.py中):</p> <p>从钢骨包1导入mod1\U 1</p> <p>或者</p> <p>进口钢骨包1.模式1</p> <p>两者都不起作用。我在这里读了一些类似问题的答案,但找不到答案。在</p> <p>编辑:我更改了模块名以遵循Python的命名约定。但我还是不能让这个简单的例子起作用。在</p>
0 条评论
分类:
Python问答
请先
登录
后评论
默认排序
时间排序
1 个回答
匿名
1天前
擅长:python、mysql、java
<p>模块名不包括<code>.py</code>扩展名。另外,在您的示例中,顶层模块实际上命名为<code>top</code>。最后,连字符对于python中的名称是不合法的,我建议用下划线代替它们。然后尝试:</p> <pre><code>from top.src.pkg1 import mod1_1 </code></pre>
请先
登录
后评论
针对此问题:
更多的回答
关注
89
关注
收藏
1
收藏,
216
浏览
网友 提问于 2天前
相关Python问题
Tensorflow 2:如何计算双射体链的前向雅可比矩阵
4 回答
Tensorflow 2:如何配置自定义层的速度
8 回答
Tensorflow 2:对掩码应用一个热编码以进行语义分割
5 回答
Tensorflow 2:序列化并解码时形状不匹配
4 回答
Tensorflow 2:根据二维张量对三维张量排序
10 回答
Tensorflow 2:维度1的切片索引64超出范围。[Op:Straddslice]名称:标题_生成器_5/跨步切片/
1 回答
Tensorflow 2:获取“警告:Tensorflow:对<function>的最近9次调用中有9次触发了tf.function retracting。跟踪代价高昂”
1 回答
Tensorflow 2:获取张量值
1 回答
TensorFlow 2:重新保存保存的模型?
9 回答
TensorFlow 2.0 [条件 x == y 未能逐元素满足:]
4 回答
TensorFlow 2.0 Beginer实现简单CNN
7 回答
Tensorflow 2.0 beta没有属性keras
1 回答
TensorFlow 2.0 clip按值更改参数
7 回答
Tensorflow 2.0 CNN训练:图像增强功能将像素值移到[0,1]范围之外。这有问题吗?
3 回答
Tensorflow 2.0 compat保护程序未找到Tensorflow 1.0中存在的变量
2 回答
Tensorflow 2.0 Conv3D输入形状问题
4 回答
Tensorflow 2.0 DQN代理问题与自定义环境
2 回答
Tensorflow 2.0 DQN行动规范屏蔽
6 回答
Tensorflow 2.0 fit()无法识别批大小
1 回答
Tensorflow 2.0 GPU不显示输出(可能崩溃)
6 回答