Pythonでは、ファイルを継続的に読み込むためのいくつかの方法があります。特に、ログファイルなどの頻繁に更新されるファイルを読み込む場合に有用です。
方法1: readline
とsleep
を使用する
以下のコードは、ファイルの最後まで到達した場合に一時停止し、新しい行が追加されるのを待つ方法を示しています。
import time
def follow(thefile):
thefile.seek(0,2) # ファイルの末尾に移動
while True:
line = thefile.readline()
if not line:
time.sleep(0.1) # 新しい行が追加されるのを待つ
continue
yield line
logfile = open("yourfile.log", "r")
loglines = follow(logfile)
for line in loglines:
print(line)
このコードは、Unixのtail -f
コマンドのPython版と考えることができます。
方法2: ファイルの更新を監視する
別のアプローチとして、ファイルが更新されたときに通知を受け取るようにすることも可能です。これには、pyinotify
のようなライブラリを使用します。
以上の方法を使用することで、Pythonでファイルを継続的に読み込むことが可能です。適切な方法を選択することで、効率的なコードを書くことができます。