私はpyvisaで使用するための計測器クラスを作成しています。手動ですべてのSCPIコマンドを変換するのではなく(約400)の方法に、私は単なるテキストファイルにコマンドのクイックリファレンスをコピーしたいと、このようなコマンドがあるだろう。このような方法としてアップ動的に作成されたPythonクラスメソッドにローカル変数を動的に追加する方法
[SENSe:]TEMPerature:TRANsducer:RTD:RESistance[:REFerence]? [{MIN|MAX}]
風:
def temp_tran_rtd_res_qry(*args):
<check for valid arguments>
cmd = 'TEMPerature:TRANsducer:RTD:RESistance?'
argstr = ''
for arg in args:
argstr += ' ' + arg
return self.query(cmd + argstr)
私はコマンドを解析するハンドルを持っており、setattr()
を使用してテンプレート関数から正しい名前のメソッドを作成する方法を考え出しました。
困っている部分は、それぞれのメソッドがcmd
に割り当てるものを知っている部分です。私は元の文字列を属性(メソッドに似た名前)としてクラスに追加し、メソッドの中でそれらを解析することを考えましたが、このために、クラスの名前を基にクラス属性を取得できるメソッド)。
[クラスのメソッドを動的に作成するにはどうすればいいですか?](http://stackoverflow.com/questions/17929543/how-can-i-dynamically-create-class-methods-for-a -class-in-python) – JacaByte
これまでに私が得た答えは、私が見つけたものです。メソッドの作成だけではなく、もう少し問題があります。たぶん私の質問は十分ではありません。 – Jim