Descrição
O método fdatasync() força a gravação do arquivo com filedescriptor fdpara o disco. Isso não força a atualização de metadados. Se você quiser liberar seu buffer, poderá usar este método.
Sintaxe
A seguir está a sintaxe para fdatasync() método -
os.fdatasync(fd)
Parâmetros
fd - Este é o descritor de arquivo para o qual os dados devem ser gravados.
Valor de retorno
Este método não retorna nenhum valor.
Exemplo
O exemplo a seguir mostra o uso do método fdatasync ().
#!/usr/bin/python3
import os, sys
# Open a file
fd = os.open( "foo.txt", os.O_RDWR|os.O_CREAT )
# Write one string
line = "this is test"
# string needs to be converted byte object
b = str.encode(line)
os.write(fd, b)
# Now you can use fdatasync() method.
# Infact here you would not be able to see its effect.
os.fdatasync(fd)
# Now read this file from the beginning.
os.lseek(fd, 0, 0)
str = os.read(fd, 100)
line = os.read(fd2, 100)
str = line.decode()
print ("Read String is : ", str)
# Close opened file
os.close( fd )
print ("Closed the file successfully!!")
Resultado
Quando executamos o programa acima, ele produz o seguinte resultado -
Read String is : This is test
Closed the file successfully!!