我有一个奇怪的错误:当一个脚本调用一个调用不同脚本的不同脚本时,Python 2.7 中的导入 -testbench.py
导入user.py
导入hardware.py
testbench.py
运行硬件测试台user.py
接受用户输入(具体来说,要测试的硬件的序列号)hardware.py
有一些关于有效#SN的信息(在整数中highestSerial
)user.py
使用hardware.highestSerial
变量
在这两种情况下,工作流程都是这样的:
>>>python
>>>import user
>>>help(user)
>>>exit()
>>>python testbench.py
情况1
\\testbench.py
\\user.py
\\hardware.py
\\__init__.py
\\hardware\\__init__.py
\\hardware\\hardwareList.txt
输出 1
- 帮助(用户)没有警告
- 调用脚本输出:
AttributeError: 'module' object has no attribute 'highestSerial'
案例二
\\testbench.py
\\user.py
\\hardware.py
\\__init__.py
\\hardware\\hardwareList.txt
输出 2
- 帮助(用户)输出:
__warningregistry__ = {(Not importing directory 'hardware': missing _...
- 调用脚本工作正常
案例之间的差异
在第一种情况下,有一个硬件文件夹__init__.py
- 没有警告,但代码中断(因为我要查找的属性不在文件夹中)
在第二种情况下,没有硬件文件夹,所以我得到一个Not importing directory
警告,但代码工作正常。
现在显然我可以重命名一些东西,但你们中的任何人都知道幕后发生了什么吗?
编辑当我将 hardware.py 放入 \hardware\ 时,事情变得非常疯狂,但我们会暂时忘记那个场景
编辑 2我的想法是我想制作一个 hardware.py 脚本来访问 \hardware\ 文件夹中的所有内容 - 序列号列表、硬件类型等,这些都不是在 python 中,而是在 .txt 文件中, .csv 文件等。这是一种完全错误的做事方式吗?