0

私は、常に更新される .txt ファイルを Python で読み取ることにより、jQuery AJAX リクエストを使用してグラフをプロットするプロジェクトを持っています。しかし、私が本当にやりたいことは、次のデータがファイルに上書きされるまで、ファイルの内容を保持することです。ただし、このデータ スタック ファイルを読み込もうとすると、-python スクリプトが常に新しい情報で上書きするため- 残念ながら、毎回コンテンツを表示することはできません。

これは私がこれまでに行ったことです:

mydatatosend = str(distance0)+","+str(time0)+","+str(distance1).....)
print mydatatosend
text_file = open("sensor_file.inc","a")
text_file.write(mydatatosend)
text_file.close()

記録のために、私は FTP アップロードのようなソリューションを試しましたが、FTP サーバーに問題があるため、今のところオプションではありません。また、パラメーターをphpファイルに渡す方法に関する情報も、トリックを実行できます。私は本当にあなたの助けに感謝します、すでにありがとう!

4

3 に答える 3

0

これは思ったより簡単でした。「a」を「w + r」に変更すると問題は解決します

これが実際の最終コードです。

mydatatosend = str(distance0)+","+str(time0)+","+str(distance1).....)
print mydatatosend
text_file = open("sensor_file.inc","w+r")
text_file.write(mydatatosend)
text_file.close()
于 2013-06-11T11:45:17.373 に答える
0

ファイルをその場で更新するための標準的な方法は、新しいファイルを (別の名前で) 書き込んでから、新しいファイルを元のファイル名としてos.rename()することです。ファイル システムは「アトミック」操作を実行するため、その名前で使用できるファイルは 1 つだけであり、名前の変更が完了するまですべての読み取りがブロックされます。クリーンで高速。

import os
file_name = "sensor_file.inc"
new_file_name = "sensor_file.inc-new"
text_file = open(new_file_name,"w")
text_file.write(mydatatosend)
text_file.close()
os.rename(new_file_name, file_name)
于 2013-06-11T04:36:23.533 に答える
0

これを試しましたか?

new_text = str(distance0)+","+str(time0)+","+str(distance1).....) 
print new_text

text_file = open("sensor_file.inc","rw")
previous_text = text_file.read()

total_text = previous_text + new_text    

text_file.write(total_text)
text_file.close()

これにより、ファイルの以前のデータが読み取られ、新しいデータが追加され、データがファイルに書き戻されます。

お役に立てれば!

于 2013-06-11T04:16:44.183 に答える