Python - Extracción de ficheros

 
Vista:
sin imagen de perfil

Extracción de ficheros

Publicado por Alfonso Carlos (2 intervenciones) el 22/01/2018 20:14:53
Buenas [email protected]

Soy nuevo en Python y necesito ayuda

Tengo 1200 ficheros extensión .txt en un directorio con la siguiente nomenclatura:
T1A1, T1A2, T1A3........ T1A60
T2A1, T2A2, T2A3......... T2A60
.
.
.
T10A1, T10A2, T10A3...... T10A60

Y lo mismo pero cambiando la letra A por la D

Por lo tanto 60 + 60 = 120 * 10 ( T) = 1200.

Tengo todos esos ficheros en una lista en python y quiero eliminar todos los que contengan la letra D y de los que tienen la letra A, solamente quiero hasta el 45.

¿Alguien tiene una idea?

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip
Val: 1.120
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Extracción de ficheros

Publicado por kip (257 intervenciones) el 22/01/2018 21:36:25
Hola, he creado algo a ver si te ayuda, lo hice como mencionaste con una lista, para operaciones con archivos te recomiendo usar el modulo shutil

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
files = []
 
#Genero un sample de ficheros
for w in 'AD':
  files += [
    'T{1}{0}{2}'.format(w, n, n2) for n in range(1, 11) for n2 in range(1, 61)
  ]
 
#Modulo necesario para extraer el ultimoo digito del filename
import re
 
#Lista ya filtrada
filesFiltered = []
 
for fn in files:
  if 'D' in fn:
    continue
  lastNum = int(re.search(r'(\d+)$', fn).group(1))
  if 'A' in fn and lastNum > 45:
    continue
  filesFiltered.append(fn)
 
print(filesFiltered)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar