title: Str.format() for Python 2.6 gives error where 2.7 does not
body: <p>I have some code which works well in Python 2.7.</p>
  
  <pre><code>Python 2.7.3 (default, Jan  2 2013, 13:56:14) 
  [GCC 4.7.2] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  &gt;&gt;&gt; from sys import stdout
  &gt;&gt;&gt; foo = 'Bar'
  &gt;&gt;&gt; numb = 10
  &gt;&gt;&gt; stdout.write('{} {}\n'.format(numb, foo))
  10 Bar
  &gt;&gt;&gt;
  </code></pre>
  
  <p>But in 2.6 I get a ValueError exception.</p>
  
  <pre><code>Python 2.6.8 (unknown, Jan 26 2013, 14:35:25) 
  [GCC 4.7.2] on linux2
  Type "help", "copyright", "credits" or "license" for more information.
  &gt;&gt;&gt; from sys import stdout
  &gt;&gt;&gt; foo = 'Bar'
  &gt;&gt;&gt; numb = 10
  &gt;&gt;&gt; stdout.write('{} {}\n'.format(numb, foo))
  Traceback (most recent call last):
    File "&lt;stdin&gt;", line 1, in &lt;module&gt;
  ValueError: zero length field name in format
  &gt;&gt;&gt;
  </code></pre>
  
  <p>When looking through the documentation (<a href="http://docs.python.org/2.6/library/string.html" rel="nofollow noreferrer">2.6</a>, <a href="http://docs.python.org/2/library/string.html" rel="nofollow noreferrer">2.7</a>), I can see no mention of changes having been done between the two versions. What is happening here?</p>