我希望尽早做出一套文件,在某些时候,最好的方式来组织它是有一个列表,该列表将位于文件的最顶端,之后将会有一段荒谬的代码来处理该列表控件以及它的操作方式。我期待写说名单只有一次,并表示名单文件夹和文件名的格式列表:
[(folder/filename, bool, bool, int), (folder/filename, bool, bool, int)]
正如你所看到的,folder/filename
是相同的(在某种程度上)的。文件名是文件夹名称,最后输入.py
,但是在导入XXX时,您不需要导入XXX.py,所以我没有看到导致问题的原因。
我面对使用这种方法是进口的问题...
for (testName, auto, hardware, bit) in testList:
print(testName)
paths = "\\" + testName
print paths
addpath(paths)
sys.modules[testName] = testName # One of a few options I've seen suggested on the net
print("Path Added")
test = testName + ".Helloworld()"
eval(test)
因此,对于每个测试我有,打印的名字,组装其中包含路径("\\testName"
)的字符串,在这个例子中,打印测试路径,然后将路径添加到列表(sys.path.append(path)
),然后打印以确认发生,然后组装将由测试主模块eval
执行的字符串并最终评估它。
正如您所看到的,我目前必须在顶部有一个导入列表。我不能简单地执行导入testName
(testName
的内容是我希望导入的模块的名称),因为它会尝试找到名为testName
的模块,而不是称为testName
的内容的模块。
我已经看到了几个这样做的例子,但在我的情况下找不到任何工作。如果有人可以从字面上扔出一大堆代码,那会很棒。
我也会要求我没有被挂起,绘制,也没有使用eval,它被用在一个非常受控的环境中(它循环的列表在.py文件中,所以没有“最终用户“应该搞砸了)。
注意,缩进是正确的ST,由于某种原因,我觉得这只是网站不喜欢正确地分析我的文字:( – XtrmJosh
不要使用制表符,但空间缩进。 –
的Python已经有办法管理您可能想要导入的大量'.py'文件集合,这些文件可以理解文件夹和子文件夹,可以处理相对导入,正确执行命名空间等等,它被称为[package](http:// docs。 python.org/2/tutorial/modules.html#packages)。是否有你不想使用它的原因? – katrielalex