title: How do I create a file in python without overwriting an existing file
body: <p>Currently I have a loop that tries to find an unused filename by adding suffixes to a filename string.  Once it fails to find a file, it uses the name that failed to open a new file wit that name.  Problem is this code is used in a website and there could be multiple attempts to do the same thing at the same time, so a race condition exists.</p>
  
  <p>How can I keep python from overwriting an existing file, if one is created between the time of the check and the time of the open in the other thread.</p>
  
  <p>I can minimize the chance by randomizing the suffixes, but the chance is already minimized based on parts of the pathname.  I want to eliminate that chance with a function that can be told, create this file ONLY if it doesn't exist.</p>
  
  <p>I can use win32 functions to do this, but I want this to work cross platform because it will be hosted on linux in the end.</p>