0

私はちょっと奇妙な問題を抱えています。ここに説明の試みがあります:

私は現在、次のコマンド linecache.getline(path,number) を使用して、txt ファイルを開き、そのファイルの行を読み取るプログラムを作成しています。関数が完了したら、コマンド linecache.clearcache を使用します。

その後、テキスト ファイルで何かを変更すると、変更前の行が返され続けます。

以下は私が使用しているコードです(私はそれが本当にきれいではないことを知っています)

def SR(Path,LineNumber):    
    returns = lc.getline(Path,LineNumber)      
    x = np.array([])
    y = np.array([])
    words = returns.split()
    for word in words:
        x = np.append([x],[word])

    for i in range(len(x)):
        t = float(x[i])
        y = np.append([y],[t])
    return y
    del x
    del y
    del t
    del words
    lc.clearcache()
4

1 に答える 1

5

returnステートメントの後には何も実行されません。を呼び出したい場合は、ステートメントclearcacheの前に呼び出す必要があります。return

また、補足として、delステートメントが . の前に配置されたとしても、ステートメントは実際には何もしませんreturndel事実上、gc の参照カウンターをデクリメントするだけです。これは、インタープリターが関数スコープを終了したときに発生します。

于 2014-03-31T14:26:00.400 に答える