Python有同步吗?

时间:2013-04-13 01:41:39

标签: python linux sync

sync man page说:

  

sync()导致对文件元数据和数据的所有缓冲修改   写入底层文件系统。

Python有调用吗?

P.S。不是fsync,我明白了。

3 个答案:

答案 0 :(得分:16)

Python 3.3有os.sync,请参阅the docssource证实了它是一回事。

对于Python 2,您可能需要向系统external call

答案 1 :(得分:13)

如上所述,Python 3.3具有对Python 2.x的调用,因为它很简单 系统调用,不需要来回传递数据,你可以使用ctypes来进行调用:

>>> import ctypes
>>> libc = ctypes.CDLL("libc.so.6")
>>> libc.sync()
0

答案 2 :(得分:7)

结合two answers,我在模块顶部使用以下内容:

if hasattr(os, 'sync'):
    sync = os.sync
else:
    import ctypes
    libc = ctypes.CDLL("libc.so.6")
    def sync():
        libc.sync()