1

私はいくつかのファイルをメモリ内のデータ構造に保存し、そのデータ構造にアクセスするためにすべてのモジュールでそのデータ構造を使用するコードを書いています。(時間節約)

コードは python で書かれており、非常に大きいため、そのデータ構造を関数から関数に渡すのは非常に困難です。

コードの開始時にファイルからデータへの構造を保存する方法はありますか?そのデータ構造はプログラムの実行中にメモリに存在するため、任意のモジュールでそのデータ構造を使用できます。

助けてください。かなり重要..!!

例を挙げましょう。

main.py ..... これがプロジェクトの始まりです。ここでは、完全なファイルをデータ構造に保存します。other_module.py ..... これは他のモジュールです。main.py が実行中で、other_module.py が呼び出されているため、メモリに常駐している必要があるデータ構造にアクセスしたいと考えています。

ファイルからデータへの構造を other_module 内に格納できないことに注意してください。これは非常に時間がかかるためです。ここでは非常に小さな例を示していますが、実際にはより大きな問題を扱っています。

ありがとう。

4

2 に答える 2

1

非常に大きいため、そのデータ構造を関数から関数に渡すのは非常に困難です。

いいえ、そうではありません。Python 変数はそのようには機能しません。暗黙的にポインターを取得します。

于 2012-04-11T08:39:44.857 に答える
0

Python変数と関数の引数は常にオブジェクトへの参照にすぎないため、関数の引数として大きなデータ構造を渡すことについて心配する必要はありません。データはコピーされず、新しい参照のみが作成されます。

ただし、コードが常にデータ構造の単一のインスタンスのみを処理することがわかっている場合は、それをグローバル変数に格納できます。データをモジュールレベルの変数にロードする別のモジュールを作成し、そのモジュールをmain.pyとother_module.pyにインポートすることができます。

于 2012-04-11T06:02:52.553 に答える