filename = 'NTS.csv'
mycsv = open(filename, 'r')
mycsv.seek(0, os.SEEK_END)
while 1:
time.sleep(1)
where = mycsv.tell()
line = mycsv.readline()
if not line:
mycsv.seek(where)
else:
arr_line = line.split(',')
var3 = arr_line[3]
print (var3)
このPaythonコードは、外部プログラムからcsvに新しい行が印刷されるたびにcsvファイルから値を読み取ります。私の問題は、CSVファイルが定期的に完全に書き換えられてから、Pythonが新しい行の読み込みを停止することです。私の推測では、Pythonはいくつかの行番号にスタックされていて、新しいアップデートでは多分50行またはそれ以下の行を置くことができます。例えばpythonは70行目の新しい行を待っていて、新しい行は95行目に入っています。解決策はmycsv.seek(0、os.SEEK_END)を更新する方法ですが、その方法はわかりません。PythonでCSVファイルを読む
ファイルの書き換え方法によって異なります。ファイルが事実上*書き換えられた場合、ポインタはファイル内の指定された位置にあるので、ファイルが少なくともその長さを持つときにのみ読み込まれます。しかし、注意してください:ファイル内のポインタには、行数の概念はありません。バイト数だけです。 –