Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonクラスをシリアル化する方法は?


オブジェクトのシリアル化と逆シリアル化は、重要なPythonプログラムの日常的な側面です。ファイルへの保存、構成ファイルの読み取り、HTTP要求への応答はすべて、オブジェクトのシリアル化と逆シリアル化を伴います。

シリアル化と逆シリアル化には、Pythonオブジェクトをストリーミングし、後で元の状態に戻すためのさまざまなスキーム、形式、およびプロトコルが含まれます。選択したシリアル化スキーム、フォーマット、またはプロトコルによって、プログラムの実行速度と安全性が決まります。

Pythonオブジェクトの辞書を使用してシリアル化しましょう。クラスもPythonオブジェクトです。 pickleという名前のPythonモジュールとそのメソッドpickle.dumps(object)を使用します。

foo = dict(int_list=[3, 4, 5],  text='Hello World', number=9.99, boolean=False, none=None)
import cPickle as pickle

print pickle.dumps(foo)

print pickle.dumps(foo, protocol=pickle.HIGHEST_PROTOCOL)


  1. Python名前空間を作成するにはどうすればよいですか?

    各パッケージ、モジュール、クラス、関数、およびメソッド関数は、変数名が解決される「名前空間」を所有しています。関数、モジュール、またはパッケージが評価される(つまり、実行が開始される)と、名前空間が作成されます。したがって、名前空間を作成する場合は、関数を呼び出すか、オブジェクトをインスタンス化するか、モジュールをインポートするか、パッケージをインポートするだけです。たとえば、名前空間というクラスを作成できます。そのクラスのオブジェクトを作成すると、基本的に名前空間が作成されます。 例 このクラスでは、名前空間に付加する変数名を渡すこともできます。たとえば、 class Namespace:

  2. PythonでEnvironmentError例外をキャッチする方法は?

    EnvironmentErrorは、Pythonの外部(オペレーティングシステム、ファイルシステムなど)から発生するエラーの基本クラスです。 EnvironmentError Exceptionは、StandarErrorクラスのサブクラスです。これは、IOErrorおよびOSError例外の基本クラスです。 IOErrorやOSErrorなどのサブクラスエラーとは異なり、実際には発生しません。 IOErrorまたはOSErrorの例は、環境エラーの例でもあるはずです。 例 import sys try: f = open ( "JohnDoe.txt", 'r&