#!/usr/bin/env python

import os

def read_file(name):
	"""Return all the data from a file."""
	f = open(name)
	data = f.read()
	f.close()
	return data

def write_file(name, data):
	"""Safely write data to a file, by writing to a temporary file then
	   renaming that over the original file."""
	newname = name + ".new-" + str(os.getpid())
	f = open(newname, "w")
	f.write(data)
	f.close()
	os.rename(newname, name)

if __name__ == "__main__":
	t = "myfile"
	d = "hello, world!"
	write_file(t, d)
	write_file(t, d)
	assert read_file(t) == d
	os.unlink(t)

