Re : lire et enregistrer un fichier txt à partir d'un sous-répertoire d'un fichier ZIPJ'ai ajouté un exemple de dossier zip ici à titre d'exemple. Ci-dessous le message d'erreur
dirlist = {"test/12.txt", "test/hello.txt", "test/me/", "test/me/testing.txt", "test/test/", "test/test/mytxtfile. SMS"};
Problème d'E/S : "mytxtfile" Impossible d'ouvrir en mode ReadWrite.
Le système ne peut pas trouver le chemin spécifié.
Re : lire et enregistrer un fichier txt à partir d'un sous-répertoire d'un fichier ZIPJe n'ai pas (encore) vérifié où votre script se trompe, mais il existe une version qui devrait enregistrer le fichier txt (nécessite JMP16+ en raison de For Each() et 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 : lire et enregistrer un fichier txt à partir d'un sous-répertoire d'un fichier ZIPLa chose à savoir sur les fichiers zip : ils n'ont pas réellement de structure de répertoire hiérarchique imbriquée. Le répertoire d'un fichier zip n'est qu'une simple liste de noms de chaînes de caractères. Ces noms peuvent contenir des caractères / ou \, et certains visualiseurs de fichiers zip peuvent essayer de les représenter comme un nid hiérarchique. Ainsi, le membre du fichier zip dont le nom contient monfichiertexte contient également des caractères / dans le nom, et lorsque ce chemin est construit
save text file(path1 || lst[k] || "_" || dirlist[l] , text);
dirlist contient "test/test/mytextfile.txt" et le nom de chemin résultant de la concaténation n'existe probablement pas sur votre ordinateur.
Les fonctions word() ou words() peuvent être utiles pour séparer les parties du chemin.
lire et enregistrer un fichier txt à partir d'un sous-répertoire d'un fichier ZIPSalut,
Quelqu'un peut-il aider. J'en ai essayé plusieurs et j'échoue toujours.
J'ai essayé de parcourir une liste de dossiers zip pour essayer de trouver un fichier txt spécifique qui se trouve dans un sous-répertoire du dossier zip. quand je reçois la liste de fichiers dans le dossier zip, j'ai vu le fichier txt sous le nom de sous-directeur/mytxtfile_123.log. Voici mon script, mais il ne parvient pas à télécharger le fichier txt. il y a un problème d'E/S où il se plaint "le système ne peut pas trouver le chemin spécifié". Je me demande si le renversé de "\" à "/" quand je reçois la liste de fichiers. Existe-t-il un moyen pratique d'obtenir le fichier dans un sous-répertoire ou 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();
);
);Ingénierie de la qualité et des procédés