title: Python's os.walk() fails in Windows when there are long filenames
body: <p>I use python os.walk() to get files and dirs in some directories, but there're files whose names are too long(>300), os.walk() return nothing, use onerror I get '[Error 234] More data is available'. I tried to use yield, but also get nothing and shows 'Traceback: StopIteration'.</p>
  
  <p>OS is windows, code is simple. I have tested with a directory, if there's long-name file, problem occur, while if rename the long-name files with short names, code can get correct result.</p>
  
  <p>I can do nothing for these directories, such as rename or move the long-name files. 
  Please help me to solve the problem!</p>
  
  <pre><code>def t(a):
    for root,dirs,files in os.walk(a): 
      print root,dirs,files
  t('c:/test/1') 
  </code></pre>