Я записал данные в файл, скопировал его, но в конце файла-копии данные потерялись

Следующий код может не сработать:

  open('file', 'w').print "This is a file.
"
  system 'cp file newfile'

Так как I/O подлежит буферизации, файл file копируется перед тем, как его содержимое записывается на диск, и файл newfile может оказаться пустым. Тем не менее, когда программа заканчивает работу, буферы опустошаются, и в файл file записываются ожидаемые данные. Проблемы не будет, если файл будет закрыт перед копированием:

  f = open('file', 'w')
  f.print "This is a file.
"
  f.close
  system "cp file newfile"