繁体   English   中英

Python有同步吗?

[英]Does Python have sync?

同步手册页说:

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

Python 是否有要求这样做?

PS 不是fsync ,我明白了。

Python 3.3 有 os.sync,请参阅文档 消息来源证实这是同一回事。

对于 Python 2,您可以对系统进行外部调用

from subprocess import check_call
check_call(['sync'])

如前所述,Python 3.3 具有调用 - 在 Python 2.x 上,因为它是一个简单的系统调用,不需要来回传递数据,您可以使用 ctypes 进行调用:

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

结合这两个答案,我在模块顶部使用以下内容:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM