0

Pythonスクリプトで次のコードを書きました。入力ファイルのすべての行をループしているようには見えませんが、1行目だけ実行されます。

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」には複数の行があり、各行には複数の単語があることに注意してください。ファイル「クエリ」には1行ありますが、

私は何を間違っていますか。ありがとう

4

0 に答える 0