我正在尝试在SPL中更新Weka分类器,更改用于对每种情况进行分类的属性。我更新了所有SPL文件和类型定义以及Java文件,以使用新的属性集,并在Weka中构建了新的.model文件。但是,如果更改模型文件的名称(作为Makefile中的参数)并重新生成代码,则会收到以下错误消息:
{"publicationRecords" : .. }
此错误追溯到我正在编辑的Java文件中:
with open(f) as file:
file.seek(0, 2) # go to end of file
eof = file.tell() # get end-of-file position
file.seek(0, 0) # go back to start of file
file.readline()
nextLine = True # maybe nextLine = (file.tell() != eof)
while nextLine:
file.readline()
# Do stuff
if file.tell() == eof:
nextLine = False
此行显示为:
with open(f) as file:
next_line = next(file)
# next loop will terminate when next_line is '',
# i.e., after failing to read another line at end of file
while next_line:
# Do stuff
next_line = next(file)
当我将旧模型文件名放回Makefile中时(即使在其余代码中使用了新属性),该错误也消失了,但是当我使用任何其他模型文件名时又回来了。
谁能提供有关如何纠正此错误的见解?我的办公室同事怀疑这可能是由所使用的Weka和Java版本引起的,但似乎没有人给出确切的答案。