Συζήτηση
Γεια χαρά, Επισκέπτης
Όνομα χρήστη: Κωδικός: Να με θυμάσαι

ΘΕΜΑ: Pickle an instance

Pickle an instance 13 Χρόνια 3 Μήνες πριν #1111

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
θέλω να αποθηκεύσω την instance μιας κλάσης.

Ποιος είναι ο καλύτερος τροπος να γίνει? Συνήθως έκανα τον 1ο αλλά ο 2ος είναι πιο pythonic. Υπάρχει κανείς λόγος να μην ενσωματώσω το pickling σα μέθοδο της κλάσης? Υπάρχει κάποιο πρόβλημα / κίνδυνος με το να δώσω "cPickle.dump(self, fname)"?
class C(object):
    def __init__(self, prop1, prop2):
        self.prop1 = prop1
        self.prop2 = prop2
 
    def do_something(self, args):
        pass
 
    def pickle_instance(self, fname):
        try:
            import cPickle
        except:
            print("Couldn't load cPickle")
        else:
            with open(fname, "w"):
                cPickle.dump(self, fname)
 
a = C(1, 2)
a.do_something(3)
 
# First way
import cPickle
with open("pickle.txt", "w"):
    cPickle.dump(a)
 
# Second way
a.pickle_instance("pickle.txt")
 
with open("pickle.txt", "w"):
    cPickle.dump(a)
Τελευταία διόρθωση: 13 Χρόνια 3 Μήνες πριν από pmav99.
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: Pickle an instance 13 Χρόνια 3 Μήνες πριν #1121

  • myle
  • Το Άβαταρ του/της myle
  • Αποσυνδεμένος
  • Admin
  • Δημοσιεύσεις: 467
  • Ληφθείσες Ευχαριστίες 15
Μια χαρά μου φαίνεται. Αν μπορείς να μη χρησιμοποιήσεις και καθόλου το τουρσί (pickle) ακόμα καλύτερα (interoperability).
«Αν υποθέσουμε ότι αυτό είναι δυνατό, (να μεταδώσουμε τη σοφία παντού) τότε ειλικρινά ο τρόπος ζωής των θεών θα περάσει στους ανθρώπους. Τα πάντα θα είναι γεμάτα...
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: Pickle an instance 13 Χρόνια 3 Μήνες πριν #1122

  • pmav99
  • Το Άβαταρ του/της pmav99
  • Αποσυνδεμένος
  • Author
  • Δημοσιεύσεις: 684
  • Ληφθείσες Ευχαριστίες 111
Για πιο λόγο αυτό?
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.

Απ: Pickle an instance 13 Χρόνια 3 Μήνες πριν #1127

  • myle
  • Το Άβαταρ του/της myle
  • Αποσυνδεμένος
  • Admin
  • Δημοσιεύσεις: 467
  • Ληφθείσες Ευχαριστίες 15
Όταν κάνεις κάτι με το pickle, μπορείς να το διαβάσεις μόνο μέσα από το πρόγραμμα σου.
«Αν υποθέσουμε ότι αυτό είναι δυνατό, (να μεταδώσουμε τη σοφία παντού) τότε ειλικρινά ο τρόπος ζωής των θεών θα περάσει στους ανθρώπους. Τα πάντα θα είναι γεμάτα...
Πρέπει να είστε εγγεγραμμένο μέλος του Φόρουμ για να κάνετε μια δημοσίευση.
Συντονιστές: pmav99
Χρόνος δημιουργίας σελίδας: 0.357 δευτερόλεπτα

Μοιράσου το!

Powered by CoalaWeb

Λίστα Ταχυδρομείου