2017-03-20 1 views
0

"MeteoGrid"のようなPythonでクラスを作成したいと思っています。 NetCDFファイルからデータを読み取ることができるはずです。グリッドデータを持つクラス: "read_from_file"メソッドをどこに置くか?

ここで私はどこに読書機能を置くべきですか? クラスの中に入れてメソッドにすると@staticmethod(引数としてファイルパスを取る)でもかまいません。正しく取得すればその場所で少し "悪い習慣"となります。 init()に入れて、同じモジュール内のクラスの外に置いてください。

私はそのような種類のものに新しいですし、多分少し失われました...どんな助けでも事前に感謝!コメントで述べたように

+0

あなたのクラスから読み込まれるファイルを持つ必要がありますか?はいの場合:コンストラクタ__init __()は良い場所です。 – sphere

+0

はい、私の場合の目的は、事前処理されるいくつかの提供されたデータへのインタフェースを構築することです。あなたが望むなら、これはこの場合の「最終的な解決策」です。それを答えにすることもできます;-) – user3017048

答えて

1

あなたは、コンストラクタを使用するクラス用のファイルを持つ必要がある場合には最高の場所です。ここで

は簡単な例です:

class MeteoGrid(object): 
    def __init__(self, netcdf_filename): 
     # read the data 
     with open(netcdf_filename, 'r') as f: 
      self.file_content = f.read() 

o = MeteoGrid('filename.txt') 
関連する問題