Problème avec pickle

Résolu/Fermé
Pr.Witherfire Messages postés 79 Date d'inscription samedi 5 novembre 2022 Statut Membre Dernière intervention 25 février 2023 - Modifié le 9 déc. 2022 à 16:28
Pr.Witherfire Messages postés 79 Date d'inscription samedi 5 novembre 2022 Statut Membre Dernière intervention 25 février 2023 - 9 déc. 2022 à 16:57

Bonjour,

J'aurais voulu utiliser pickle en python.

Problème : J'ai cru comprendre qu'il faillait que le document .txt soit dans le repertoire courant. N'est-il pas possible de le mettre dans le dossier qu'on veut ?

Merci


2 réponses

mamiemando Messages postés 33081 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 27 avril 2024 7 749
Modifié le 9 déc. 2022 à 16:38

Bonjour,

Un fichier pickle est une manière de sauvegarder un objet python en mémoire dans un fichier binaire (donc : pas texte) dont le chemin est arbitraire (dans le dossier courant ou n'importe quel autre dossier).

L'exemple ci-dessous met en évidence comment utiliser le module pickle. Ici mon fichier pickle correspond à /tmp/titi/tutu/toto.pkl ce qui a du sens sous Linux ou MacOS mais pas sous Windows. Donc si tu es sous Windows, choisis un autre chemin (par exemple c:\\Users\\toto).

import pickle
import pathlib

d1 = {"a" : 1, "b": 2}
print("d1 =", d1)

# Create "/tmp/titi/tutu" folder
folder = pathlib.Path("/tmp/titi/tutu")
folder.mkdir(parents=True, exist_ok=True)

# Define pickle filename
filename = folder / "toto.pkl"

# Save d to "/tmp/titi/tutu/toto.pkl"
with open(filename, "wb") as f_out:
    pickle.dump(d1, f_out)

# Load d2 from "/tmp/titi/tutu/toto.pkl"
with open(filename, "rb") as f_in:
    d2 = pickle.load(f_in)

print("d2 =", d2)

Résultat :

d1 = {'a': 1, 'b': 2}
d2 = {'a': 1, 'b': 2}

Bonne chance

0
Pr.Witherfire Messages postés 79 Date d'inscription samedi 5 novembre 2022 Statut Membre Dernière intervention 25 février 2023
9 déc. 2022 à 16:57

Ok merci beaucoup ça me sauve ;)


0