Синхронизируется ли Python? - программирование
Подтвердить что ты не робот

Синхронизируется ли Python?

Страница sync man говорит:

sync() заставляет все буферизованные модификации метаданных и данных файла записываться в базовые файловые системы.

Есть ли у Python вызов для этого?

P.S. Не fsync, я вижу это.

4b9b3361

Ответ 2

Как уже говорилось, Python 3.3 имеет вызов Python 2.x, поскольку он является простым системный вызов, не требующий передачи данных назад и вперед, вы можете использовать ctypes для вызова:

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

Ответ 3

Объединяя два ответы, я использую следующее в верхней части моего модуля:

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