Is there any way we can safely load a pickle?
Hai chiesto in qualsiasi modo , ma in parte dipende non solo dal modo in cui, ma dal sottaceto in questione e da cosa intendi con "sicuro".
A meno che tu non intenda qualcosa del tipo "ragionevolmente sicuro, dato che conoscerò sempre la provenienza del sottaceto", la risposta è probabilmente "no".
Tuttavia, ecco alcune domande a cui la risposta è "sì":
- Posso caricare tranquillamente un sottaceto se sono sicuro al 100% di averlo scritto e che non è stato modificato durante il trasporto?
- Posso caricare tranquillamente un pickle se la fonte è attendibile e ho controllato che il file dal quale sto caricando il pickle provenga effettivamente da quella fonte?
- Posso ottenere in modo sicuro la stessa cosa che caricare un pickle usando la logica di de / serializzazione completamente sicura nella maggior parte dei casi?
Quindi, la prima domanda da porsi è: il terzo di questi si applica a te? Puoi serializzare e deserializzare in un modo diverso?
In caso contrario, si applicano i primi due?
In caso contrario, c'è un progetto su cui ho appena imparato a PyCon chiamato "Pikara" - ha lo scopo di "rendere gli oggetti che non distruggono più sicuri che mai." Apparentemente è chiamato per un piatto polacco in salamoia; Ho suggerito che "kimchi" potrebbe essere ugualmente adatto. : -)
Se un metodo alternativo di serializzazione non è l'ideale per la tua implementazione, potresti prendere in considerazione di controllarlo: link
Un altro rispondente ha anche pubblicato un metodo alternativo di disimpegno, ma non posso garantire per questo (anche se ho dato una buona occhiata oggi ed è almeno interessante - controllerò quando i documenti diventeranno maggiorenni).
Se questa risposta non ti ha dato il 100% di confidenza nella direzione da seguire, allora permettimi di chiedere un follow-up: cosa stai effettivamente cercando di annullare qui?