(09-05-2021, 13:32)tincho escribió: Shell: seria interesante que pases el link del archivo de texto que usaste para hacer las pruebas así podemos probar cada uno en la configuración local.
No tengo inconveniente. Me parece mejo así. Incluso se pude usar como ejercicio para programar. Estuve probando otras cosas.
Subo el archivo a Dropbox para compartirlo con la comunidad y como solo es un archivo de texto aunque contiene todo el árbol de directorios del lugar,
si un usuario quiere bajar algo de ahí, tendrá que buscarlo por la red y es cosa del usuario, con este archivo no se va a poder bajar otros contenidos,
solo va a conocer lo que existe pero no contiene enlaces. ( Tampoco es que sea tan difícil pero es cosa de cada uno ), mi idea
es compartir para aprender a mejorar y conocer.
Archivo filelist.zip para pruebas.
Recordar. Archivo comprimido 20M, descomprimido 150M.
Me gustaría comentar esto y a ver que me decís.
Estuve intentando verlo desde el lenguaje Python ( que hace mucho tiempo que no toco ).
Me dio error de lectura por problema de "codificación" del texto.
Fui a la consola de Linux y use el comando file para saber algo del archivo, su respuesta fue esta:
Cita:filelist.txt: Non-ISO extended-ASCII text
Para poder leerlo desde Python3 usé algo como esto:
Código:
#!/usr/bin/env python3
def main():
ruta = '/home/usuario/Descargas/filelist.txt'
with open(ruta, mode='r', encoding='latin-1') as archivo:
print (archivo.read())
if __name__=='__main__': main()
Según parece la codificación "ISO-8859-1" es igual a "latin1", me funcionó igual especificando uno de estos dos.
Se supone que cuando leemos un archivo "deberíamos" especificar como está codificado ya que por defecto
nuestro sistema posiblemente sea "utf-8". (Esto debería aplicarse a cualquier lenguaje).
Ahora voy a Gambas. Nuestra instrucción File.Load, no aparenta una necesidad de especificar la codifcación del archivo
para cargarlo. Cuando muestro desde Gambas (salida a la terminal) ó un archivo ejecutable que ejecuto en la terminal,
me muestra todo el contenido del archivo línea por línea. Pero tengo problemas de mostrarlo en la consola de Gambas.
¿ Por ?.
Supongamos que ejecuto este programa en Gambas.
Código:
Public Sub Ejemplo1()
Dim ruta As String
Dim texto As String
Dim linea As String
Dim t As Float
ruta = User.Home &/ "Descargas/filelist.txt"
t = Timer
texto = File.Load(ruta)
For Each linea In Split(texto, "\n")
Print linea
Next
Print "Tiempo de carga y muestra: " & Format(Timer - t, "0.#####" & "s")
Catch
Print "Error: " & Error.Text
End
Lo hice de esta forma para dar a conocer los problemas de la codificación de este archivo. Recordar que es un archivo de texto
pero que para leerse en un Amiga. Que en un Pc también lo leemos.
Continuo. Si muestro el texto de la consola de Gambas, veremos que el carácter de final aparece un carácter extraño, parece un "castillo".
Es muy probable que Gambas3 no acabe de mostrar todo el contenido en la consola por estos caracteres finales.
Entonces como ahora conocemos que hay una codificación, cambiemos la línea que muestra "linea" por esto.
Código:
Print Conv(linea, "ISO-8859-1", "utf-8")
Ya no mostrará ese "castillo".
Hay momentos que deja de mostrarse el contenido en la consola, lo que hago es con el ratón subir o bajar con el cursor la ventana
donde se muestra el contenido de la consola de Gambas y ese vuelve a mostrarse, incluso ya llega hasta el final.
¿ Se satura la consola de Gambas ?.
Podemos usar la opción del menú de Gambas en Depuración, usar emulador de terminal, pero esto nos hace olvidar
la posibilidad de que el archivo pueda estar codificado. Lo muestra sin pensárselo.
Recordar que el pc se calienta cuando trabaja con un archivo largo si lo muestras línea a línea.
Esto es lo que me muestra al final de la ejecución, llegando correctamente al final del archivo.
Cita:08/05/18|6318789|Commodore Amiga - Latest Public DATS Combined (TOSEC-v2018-07-27).zip
Tiempo de carga y muestra: 19,56704s
Saludos