El módulo OS en Python proporciona funciones para interactuar con el sistema operativo. OS viene bajo los módulos de utilidad estándar de Python. Este módulo proporciona una forma portátil de usar la funcionalidad dependiente del sistema operativo.
El método os.fsync() en Python se usa para forzar la escritura del archivo asociado con el descriptor de archivo dado.
En caso de que estemos trabajando con un objeto de archivo (digamos f) en lugar de un descriptor de archivo, entonces necesitamos usar f.flush() y luego os.fsync(f.fileno()) para asegurar que todos los búferes asociados con el El objeto de archivo f se escribe en el disco.
Sintaxis: os.fsync(fd)
Parámetro:
fd: un descriptor de archivo para el que se requiere sincronización de búfer.
Tipo de devolución: este método no devuelve ningún valor.
Código #1: Uso del método os.fsync()
Python3
# Python program to explain os.fsync() method # importing os module import os # File path path = 'file.txt' # Open the file and get # the file descriptor # associated with # using os.open() method fd = os.open(path, os.O_RDWR) # Write a bytestring str = b"GeeksforGeeks" os.write(fd, str) # The written string is # available in program buffer # but it might not actually # written to disk until # program is closed or # file descriptor is closed. # sync. all internal buffers # associated with the file descriptor # with disk (force write of file) # using os.fsync() method os.fsync(fd) print("Force write of file committed successfully") # Close the file descriptor os.close(fd)
Force write of file committed successfully
Código #2: Si trabaja con objetos de archivo
Python3
# Python program to explain os.fsync() method # importing os module import os # File path path = 'file.txt' # Open the file and get # the file object # using open() method f = open(path, 'w') # Write a string to # the file object str = "GeeksforGeeks" f.write(str) # Firstly, flush internal buffers f.flush() # Now, sync. all internal buffers # associated with the file object # with disk (force write of file) # using os.fsync() method os.fsync(f.fileno()) print("Force write of file committed successfully") # Close the file object f.close()
Force write of file committed successfully