肯定有比我编造的可憎之物更好的解决方案。
我有各种各样的设备运行在略有不同的硬件上。我与上述设备进行通信,并测试其受硬件影响的功能。所以我有一个子文件夹,每个设备都有一个不同参数的文件。
主文件夹
|-->子文件夹(包含20个设备文件.py(
例如,可接受电压水平的不同上边界和下边界。但每个设备都运行相同的测试功能,但会使用子文件夹文件覆盖边界
我目前的方法是在测试开始时选择设备,并通过添加设备文件
sys.path.append(str(os.getcwd()) + "Devices")
if(Device==xyz):
from Device_xyz import *
我这里有两个主要问题:
导入是脏的,因为它在子文件夹中。它可以工作,但Vs-Code警告我,在他真正尝试加载之前,该文件不存在。可能是因为添加了奇怪的os.path。
VS Code对此感到非常困惑。它可以工作,但导入文件中的每个参数都加了下划线,表示在代码执行之前找不到。
任何有意见的人如果能更专业地做这件事,都将不胜感激!
您需要添加一个__init__.py
使其成为一个包,然后您的导入应该可以在没有该破解的情况下正常工作。以下是文档链接:https://docs.python.org/3/tutorial/modules.html#packages