Naviga nella cartella compressa per l'importazione dell'immagineSalve a tutti,
Attualmente sto lottando con il tentativo di includere la grafica (tiff) da un archivio zip. Ho trovato molte altre discussioni su questo argomento che sembravano molto promettenti, ma non riuscivo a capire una sintassi funzionante per il mio caso particolare.
Il problema principale con cui ho a che fare in questo momento è che tutte le discussioni sembrano avere un solo "livello" all'interno del file zip (ad esempio file zip con diversi documenti di testo direttamente all'interno). Nel mio caso, la grafica che sto cercando viene automaticamente compressa come cartella. All'apertura del file zip, dovrei passare a detta cartella per recuperare effettivamente l'elenco dei file all'interno (come [...]\filename.zip\foldername\graphics.tif). Ho provato principalmente ad accedervi tramite diverse varianti di questa discussione così come questo post qui . Ma ogni volta che provo a generare un elenco di file all'interno del file zip tramite "<
Finora ho provato a incorporare la sottocartella all'interno dell'istruzione aperta
za = open ("[...]\filename.zip\FolderName\", zip);
Show ( za << dir );usando il riferimento al file zip aperto per navigare più in basso (non ricordo la sintassi effettiva che ho provato, l'ho già eliminata) o leggendo file grafici distinti per nome file da entrambe le versioni
za = open ("[...]\filename.zip\FolderName\", zip);
dat = za << Read( "graphics.tif", Format( blob ) ); or dat = za << Read( "folderName\graphics.tif", Format( blob ) );Esiste una sintassi per navigare in una struttura di cartelle all'interno di un file zip? O, in alternativa, c'è la possibilità di incorporare qualche istruzione "ricorsiva" durante l'apertura del file zip per ottenere tutti i file che sono annidati da qualche parte più in basso?
Non vedo l'ora di ricevere qualsiasi input che puoi condividere.
Distinti saluti
Malte
Re: Naviga nella cartella zippata per importare l'immagine2 GB è il limite sia per la dimensione di una stringa in JMP che per la dimensione di un membro zip nel supporto dell'archivio zip di JMP.
(2 GB è 2^31; questo è il numero più grande che rientra in un intero con segno a 32 bit.)
I BLOB JMP non sono limitati a 2 GB. Penso che una versione futura di JMP potrebbe consentire anche membri zip più grandi di 2 GB, che potrebbero quindi essere letti in un BLOB.@Paul_Nelson
Potrebbe essere possibile eseguire lo script di un programma zip esterno utilizzando il programma di esecuzione di JMP. Il programma esterno potrebbe supportare > 2 GB se è abbastanza recente.
Re: Naviga nella cartella zippata per importare l'immagineCiao @Craige_Hales
grazie per la tua rapida risposta, ho fatto funzionare la sintassi usando il tuo input. Sfortunatamente, non sono riuscito a farlo funzionare per il mio oggetto del desiderio originale...
A quanto pare, sono in grado di aprire e leggere alcuni file zip usando esattamente la sintassi che hai fornito (indipendentemente dal fatto che venga utilizzata una barra o una barra rovesciata) mentre altri restituiscono ancora solo elenchi vuoti.
La principale differenza tra i file che posso aprire e quelli che non riesco ad aprire sembra essere la dimensione effettiva del file zip. Dopo aver scherzato un po' cercando di aprire diversi file, sembra che ci sia un limite nascosto quando la dimensione del file zip supera circa 2 GB (dovrò ricontrollare con il nostro reparto it per vedere se ci sono altre differenze in i file a cui non posso accedere/determinare).
Ho già provato a implementare tempi di attesa di 20 secondi tra l'apertura e la lettura della directory, nonché tra la lettura della directory e la sua visualizzazione nel registro, per assicurarmi che non sia correlato ai tempi di calcolo/hickup jmp. Finora inutilmente.
Conoscete eventuali limitazioni di dimensione durante l'apertura di file zip tramite jmp o avete altri suggerimenti su cosa provare?
Distinti saluti
Malte
Re: Naviga nella cartella zippata per importare l'immagineQuesto crea confusione perché molte utilità presentano il contenuto di un file zip come se ci fosse una directory gerarchica nel file zip. È davvero una directory piatta e la directory zip non richiede che i nomi dei membri utilizzino barre in avanti o indietro in un modo particolare. Ho creato test.zip utilizzando Windows integrato in zip.
za=open("$desktop/test.zip","zip");
za<
Il browser integrato di Windows lo vede così
Windows explorer navigating through a zip archiveEsplora risorse di Windows che naviga in un archivio zip
Sembra che avrai bisogno di barre in avanti piuttosto che barre inverse nei nomi dei membri.