Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
同步手册页说:
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()