diff --git a/Lib/tempfile.py b/Lib/tempfile.py
index f3cc481..32b83a0 100644
--- a/Lib/tempfile.py
+++ b/Lib/tempfile.py
@@ -58,11 +58,14 @@
         release = acquire
 
 _text_openflags = _os.O_RDWR | _os.O_CREAT | _os.O_EXCL
-if hasattr(_os, 'O_NOINHERIT'): _text_openflags |= _os.O_NOINHERIT
-if hasattr(_os, 'O_NOFOLLOW'): _text_openflags |= _os.O_NOFOLLOW
+if hasattr(_os, 'O_NOINHERIT'):
+    _text_openflags |= _os.O_NOINHERIT
+if hasattr(_os, 'O_NOFOLLOW'):
+    _text_openflags |= _os.O_NOFOLLOW
 
 _bin_openflags = _text_openflags
-if hasattr(_os, 'O_BINARY'): _bin_openflags |= _os.O_BINARY
+if hasattr(_os, 'O_BINARY'):
+    _bin_openflags |= _os.O_BINARY
 
 if hasattr(_os, 'TMP_MAX'):
     TMP_MAX = _os.TMP_MAX
@@ -177,7 +180,7 @@
         dirlist.append(_os.curdir)
 
     return dirlist
-    
+
 def _get_default_tempdir():
     """Calculate the default directory to use for temporary files.
     This routine should be called through '_once' (see above) as we
@@ -239,7 +242,7 @@
             raise
 
     raise IOError, (_errno.EEXIST, "No usable temporary file name found")
-    
+
 
 # User visible interfaces.
 
@@ -302,7 +305,7 @@
     """
 
     names = _get_candidate_names()
-    
+
     for seq in xrange(TMP_MAX):
         name = names.next()
         file = _os.path.join(dir, prefix + name + suffix)
diff --git a/Lib/test/test_tempfile.py b/Lib/test/test_tempfile.py
index d96aae7..fd7e9d0 100644
--- a/Lib/test/test_tempfile.py
+++ b/Lib/test/test_tempfile.py
@@ -268,7 +268,7 @@
         def __del__(self):
             self._close(self.fd)
             self._unlink(self.name)
-            
+
     def do_create(self, dir=None, pre="", suf="", bin=1):
         if dir is None:
             dir = tempfile.gettempdir()
@@ -485,7 +485,7 @@
         os.rmdir(self.do_create(suf="b"))
         os.rmdir(self.do_create(pre="a", suf="b"))
         os.rmdir(self.do_create(pre="aa", suf=".txt"))
-        
+
     def test_basic_many(self):
         """mkdtemp can create many directories (stochastic)"""
         extant = range(1000)
