0

我在 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”有多行,每行有多个单词。虽然文件“查询”只有一行

我究竟做错了什么。谢谢

4

0 回答 0