Come dice il titolo, mi piacerebbe poter leggere le righe da un file che si trova all'interno di un archivio zip, usando zip-conduit (i file zip Ho a che fare con lo molto grande, quindi devo essere in grado di farlo in memoria costante). Faccio schifo all'idea di base dei conduit, ma non li ho mai usati per la rabbia, e mi sento abbastanza bloccato da dove cominciare. Ho letto il tutorial sui conduit, ma sto riscontrando problemi nell'abbinamento con il mio problema.Leggi le righe da un file all'interno di un archivio zip usando il conduit zip di Haskell
La documentazione zip-condotto dice una possibile fonte da un archivio zip con qualcosa di simile a quanto segue:
import qualified Data.Conduit.Binary as CB
import Codec.Archive.Zip
withArchive archivePath $ do
name:_ <- entryNames
sourceEntry name $ CB.sinkFile name
Presumo quello che devo fare è scrivere qualcosa al posto di CB.sinkFile
. Data.Conduit.Text
ha una funzione lines
- potrebbe essere utilizzata in qualche modo per estrarre le righe dal file?
Apprezzerei molto un semplice esempio, ad esempio utilizzando putStrLn
per scrivere le righe di un semplice file di testo archiviato all'interno di un file zip. Grazie in anticipo.
Grazie mille, questo ha molto più senso. L'uso del conduit ha reso il mio codice molto più pulito. – Chris