Después de estar un poco estudiando Python. Me acordé de un modulo que usa para el manejo del sistema.
Y encontré un método para listar archivos. De esto salio la idea de este ejemplo.
La idea principal es, buscar un nombre de archivo que incluyen ciertas palabras.
Imaginar lo que sería, si esta condición se cumple y si esta también y esta...una linea algo larga de condicionales.
El movimiento se demuestra andando. Así que ni corto ni perezoso:
Tengo una lista de juegos de Spectrum y quería encontrar que archivos cumplían con:
- Una compañía concreta
- Estuviera en español
- Se haya producido en un año concreto
El ejemplo lo hice en consola, por ahora.
Public Sub Main()
Dim condiciones As String[] = ["US Gold", "(es)", "1988"]
Dim ruta_archivos As String = "~/Documentos/Ordenadores/Spectrum/Coleccion/Tzx/"
Dim fichero As String
Dim condicion As String
Dim cuenta_condiciones As Integer
For Each fichero In RDir(ruta_archivos, "*.tzx", gb.File).Sort()
cuenta_condiciones = 0
'Convertimos el nombre del archivo a minúscula para igualdad
fichero = Lower(fichero)
' Comprobamos que se cumple todas las condiciones
For Each condicion In condiciones
If InStr(fichero, Lower(condicion)) <> 0 Then
cuenta_condiciones += 1
Endif
Next
'Si se cumplen todas las condiciones mostramos el nombre del archivo
If cuenta_condiciones = condiciones.Length Then Print ruta_archivos & fichero
Next
End
Dim condiciones As String[] = ["US Gold", "(es)", "1988"]
Dim ruta_archivos As String = "~/Documentos/Ordenadores/Spectrum/Coleccion/Tzx/"
Dim fichero As String
Dim condicion As String
Dim cuenta_condiciones As Integer
For Each fichero In RDir(ruta_archivos, "*.tzx", gb.File).Sort()
cuenta_condiciones = 0
'Convertimos el nombre del archivo a minúscula para igualdad
fichero = Lower(fichero)
' Comprobamos que se cumple todas las condiciones
For Each condicion In condiciones
If InStr(fichero, Lower(condicion)) <> 0 Then
cuenta_condiciones += 1
Endif
Next
'Si se cumplen todas las condiciones mostramos el nombre del archivo
If cuenta_condiciones = condiciones.Length Then Print ruta_archivos & fichero
Next
End
Y con eso obtuve este pequeño listado:
Citar:
Así que con un array y las condiciones en el, solucione el problema de usar una linea larga de condicionales.
Ahora mis compañero me dirán, aprende base de datos, que ya te va tocando.
Era un ejemplo. Y funciona!.
Saludos