sync man page mówi:Czy Python jest zsynchronizowany?
sync() powoduje, że wszystkie buforowane modyfikacji pliku metadanych i danych być zapisywane do podstawowych systemów plików.
Czy Python ma do tego telefon?
P.S. Not fsync, Widzę to.
sync man page mówi:Czy Python jest zsynchronizowany?
sync() powoduje, że wszystkie buforowane modyfikacji pliku metadanych i danych być zapisywane do podstawowych systemów plików.
Czy Python ma do tego telefon?
P.S. Not fsync, Widzę to.
Python 3.3 ma os.sync, patrz the docs. source potwierdza, że to to samo.
Dla Pythona 2 może być konieczne wprowadzenie do systemu external call.
Jak powiedział, Python 3.3 ma połączenia - na Python 2.x, ponieważ jest prosty wywołanie systemowe, wymagające żadne dane mają być przekazywane w tę iz powrotem, można użyć ctypes, aby wykonać połączenie:
>>> import ctypes
>>> libc = ctypes.CDLL("libc.so.6")
>>> libc.sync()
0
Łącząc twoanswers używam następujących w górnej części mojego modułu:
if hasattr(os, 'sync'):
sync = os.sync
else:
import ctypes
libc = ctypes.CDLL("libc.so.6")
def sync():
libc.sync()
Jakiś szczególny powód używania 'def sync()' zamiast 'sync = libc.sync'? – pepoluan
Ah faktycznie jest, nie można wywołać z parametrami przez przypadek;) –
Whoa, fantazyjne. :) Byłbym zdenerwowany, że libc.so.6 może nie zawsze istnieć (chociaż jestem w UNIX), więc prawdopodobnie podproces lub 'sync' jest dla mnie drogą. – dfrankow
"lub \" sync \ '..". Darnowanie formatowania bez podglądu – dfrankow