Re: leer y guardar un archivo txt de un subdirectorio de un archivo ZIPAgregué un ejemplo de una carpeta zip aquí como ejemplo. A continuación se muestra el mensaje de error.
dirlist = {"prueba/12.txt", "prueba/hola.txt", "prueba/yo/", "prueba/yo/prueba.txt", "prueba/prueba/", "prueba/prueba/mytxtfile. TXT"};
Problema de IO: "mytxtfile" No se puede abrir en modo de lectura y escritura.
El sistema no puede encontrar la ruta especificada.
Re: leer y guardar un archivo txt de un subdirectorio de un archivo ZIPNo comprobé (todavía) dónde falla el script, pero hay una versión que debería guardar el archivo txt (requiere JMP16+ debido a For Each() y Filter Each())
Names Default To Here(1);
file_of_interest = "mytxtfile.txt";
zip_path = "$DOWNLOADS\test.zip";
save_path = "$DOWNLOADS\586819.txt";
za = Open(zip_path, "zip");
members_in_zip = za << dir;
// take only .txt files
file_paths_of_interest = Filter Each({members}, members_in_zip,
Ends With(members, file_of_interest);
);
If(N Items(file_paths_of_interest) == 0,
Throw("Not found");
);
// Assume that only one of those files exist
file_path_of_interest = file_paths_of_interest[1];
data = za << read(file_path_of_interest, Format("string"));
Save Text File(save_path, data);
//Open(save_path);

Re: leer y guardar un archivo txt de un subdirectorio de un archivo ZIPLo que debe saber sobre los archivos zip: en realidad no tienen una estructura de directorio jerárquica anidada. El directorio de un archivo zip es solo una lista simple de nombres de cadenas de caracteres. Esos nombres pueden contener / o \ caracteres, y algunos lectores de archivos zip pueden intentar representar eso como un nido jerárquico. Entonces, el miembro del archivo zip que tiene un nombre que contiene miarchivodetexto también contiene / caracteres en el nombre, y cuando se construye esta ruta
save text file(path1 || lst[k] || "_" || dirlist[l] , text);
dirlist contiene "test/test/mytextfile.txt" y el nombre de ruta resultante de la concatenación probablemente no exista en su computadora.
Las funciones word() o words() pueden ser útiles para separar las partes de la ruta.
leer y guardar un archivo txt desde un subdirectorio de un archivo ZIPHola,
¿Alguien puede ayudar? Probé muchas y sigo fallando.
Traté de recorrer una lista de carpetas zip para tratar de encontrar un archivo txt específico que se encuentra en un subdirectorio de la carpeta zip. cuando obtengo la lista de archivos en la carpeta zip, vi el archivo txt como subdirector/mytxtfile_123.log. A continuación se muestra mi secuencia de comandos, pero no puede descargar el archivo txt. hay un problema de IO donde se queja "el sistema no puede encontrar la ruta especificada". Me pregunto si se cambió de "\" a "/" cuando obtengo la lista de archivos. ¿Hay alguna manera ordenada de obtener el archivo en un subdirectorio o en un zip?
path == path where all zip folder located;
path1 == path where txt file going to save;
lst = {the list of the zip folders};
for (k=1, k <=N items(lst), k++,
Try(
za = open(path||lst[k], zip);
dirlist = za << dir;
for (l=1, l<=N Items(dirlist), l++,
If (Contains(dirlist[l], "mytxtfile_"),
text = za << read(dirlist[l]);
save text file(path1||lst[k]||"_"||dirlist[l],text);
);
)
,
print (lst[k] || "fail to open");
Throw();
);
);Ingeniería de Calidad y Procesos