2014353_180000
2014353_190000
2014353_200000
2014354_180000
2014354_190000
2015355_190000
2015355_200000
...etc.
Lo que quiero es que de esos archivos pasarlos a su respectiva carpeta, como lo muestro a continuación.
Código:
  
¿Cómo podría hacerlo, alguna ayuda?├ 2014353/ | ├─ 2014353_180000 | ├─ 2014353_190000 | └─ 2014353_200000 ├ 2015354/ | ├─ 2015354_190000 | └─ 2015354_200000 etc ...
Tengo lo siguiente:
Código:
  
me aparece el siguiente error:  import glob, os, shutil, os, errno, sys
import subprocess
from glob import glob
from os.path import join
from os import listdir, makedirs
from os.path import isfile, join, exists
from shutil import move
def esFecha( nombre ):
  if ( len(nombre)<7 ):
    return False
  if ( not nombre[0:7].isdigit() ):
    return False
  dia = int( nombre[4:7] )
  return dia>=1 and dia<=366
def moverFichero( nombre, listado ):
  directorio = nombre[0:7]
  destino = join( listado, directorio)
  if ( not exists(destino) ):
    makedirs(destino)
  origen = join( listado, nombre )
  move ( origen, destino )
dirBase='C:\\Dats\\'
listado = glob(join(dirBase,'D*','2*','B*','*','*'))
ficheros = [ f for f in listdir(listado) if isfile(join(listado,f)) ]
for fich in ficheros:
  if ( esFecha( fich ) ):
    moverFichero( fich, listado )
Código:
  
 Traceback (most recent call last):
  File "directorio.py", line 28, in <module>
    ficheros = [ f for f in listdir(listado) if isfile(join(listado,f)) ]
TypeError: coercing to Unicode: need string or buffer, list found
 

