Python 如何自动刷新log.txt文件

Python 如何自动刷新log.txt文件,python,updates,Python,Updates,我正在为Minecraft服务器制作一个python程序,该程序可以自动对某个价格的物品进行出价。在appdata/roaming/.minecraft/logs中有一个名为“latest.log”的聊天日志。此日志不断更新,其中包含我服务器上的每个人在聊天时所说的内容。如果我打开它并查看文本,日志不会自动更新(显然)。如何使用python脚本打印日志中的每一行并自动更新 我使用的是Windows 8.1和Python 2.7.9,在写入过程(可能是服务器)填充或刷新缓冲区之前,数据不会写入最新

我正在为Minecraft服务器制作一个python程序,该程序可以自动对某个价格的物品进行出价。在appdata/roaming/.minecraft/logs中有一个名为“latest.log”的聊天日志。此日志不断更新,其中包含我服务器上的每个人在聊天时所说的内容。如果我打开它并查看文本,日志不会自动更新(显然)。如何使用python脚本打印日志中的每一行并自动更新


我使用的是Windows 8.1和Python 2.7.9,在写入过程(可能是服务器)填充或刷新缓冲区之前,数据不会写入
最新的.log
文件。在Python中可能没有任何方法可以改变这一点。最好的办法是查看是否可以将写入过程配置为在每行之后刷新。

因此,我尝试了一些方法,并发现我可以按照日志文件进行操作(不断更新)


在IDLE中,我将简单地启动名为beginhead的函数。随着这个程序的运行,当日志文件更新时,它会不断打印日志文件中的行。

查看答案。我不能完全确定我是否在跟踪您,但我已经用python脚本快速打开和关闭了日志,它会一直向下滚动到底部,以查看聊天中的最新更新,日志似乎会立即更新。
def follow(thefile):
    thefile.seek(0,2)
    while True:
        line = thefile.readline()
        if not line:
            time.sleep(0.1)
            continue
        yield line

def beginread():
    loglines = follow(logfile)
    for line in loglines:
        print line