我在 python 脚本中编写了以下代码。它似乎没有遍历输入文件的所有行,而是仅针对第一行执行。
while linecount1>0:
line=images.readline().split()
query=queries.readline().split()
for word1 in line:
count+=1
for word2 in query:
x='java -cp "lib/*:esalib.jar" clldsystem.esa.ESAAnalyzer %s %s' % (word1, word2)
args=shlex.split(x)
print args
p=subprocess.Popen(args)
p.wait()
#print p
f=open("result",'r')
sim=f.readline()
temp.write(str(word1)+" ")
temp.write(str(word2)+"\n")
#print value
if word1==word2:
score=score+(3*float(sim))/2
same+=1
else:
score=score+float(sim)
linecount1=linecount1-1
该代码工作正常,但仅适用于文件“图像”的第一行。但不会遍历所有行。请注意,文件“images”有多行,每行有多个单词。虽然文件“查询”只有一行
我究竟做错了什么。谢谢