0

昨日、python の argparse ライブラリを使用していたのですが、その機能の 1 つに目が留まりました。パーサー インスタンスを作成したら、文字列といくつかのオプションの値を に渡すことで、パーサー インスタンスに引数を追加できますadd_argument()。次に、parse_args()あなたへの呼び出しの後、渡した文字列にちなんで名付けられた属性を持つ変数が返されます。次に例を示します。

parser = argparse.ArgumentParser()
parser.add_argument('layout', help="CSV File containing coordinates and sensor names")
args = parser.parse_args()
layout = csv.reader(open(args.layout)) # now I have the attribute "layout", very cool!

だから、私はこの名前バインディングにちょっと魅了されていますが、それがどのように実装されているのかわかりません。誰でもこれがどのように機能するか説明できますか? 例は素晴らしいでしょう。

4

2 に答える 2

0

関数を介して実装されsetattrます。

基本的、

namespace.foo = value

次の方法でも実行できます。

setattr(namespace,'foo',value)

そのように簡単です。getattr属性を取得するビルトインもあります。

于 2013-06-25T13:25:47.923 に答える