0

我有一个 python 脚本,它打开一个文件并写一堆东西然后关闭它。我通过连接到 ssh 来运行这个 python 文件。另一方面,我有另一个连接到同一台机器的 ssh 终端,我想通过正在运行的脚本监视对文件的更改/写入。但是,当我执行 cat "file_name" 或类似的操作时,文件似乎是空的。只有在脚本终止后,我才能看到这些东西。

首先,这与事务的原子性属性有关吗?

其次,有没有办法实现对我的文件的监控?

4

1 回答 1

0

你的文件有多大?

如果它很小(对于一些模糊的小定义,但可能低于 4 KiB),那么您的 Python 脚本很可能正在缓冲它在内存中所做的更改,并且仅在您关闭文件时才写入磁盘。

如果您的文件很大(例如,大于 64 KiB),那么这不是解释。在中等大小的情况下,它相对不太可能成为解释;对于 1 KiB 或更小的真正小尺寸,这是非常合理的。

考虑寻找刷新文件更改或内存映射文件的方法。

于 2012-04-11T04:24:54.247 回答