質問
· 2023年4月13日

Pythonからネームスペースを指定してグローバルを参照する方法。

こんにちは、皆さま。
業務でIRISを用いて開発を行っている者です。

現在、Embedded Pythonを用いて開発を行おうとしているのですが、
別のNMSPに存在するグローバルをiris.gref()で参照する方法がわかりませんでした。

> iris.gref("^[NMSP]GBL")   <-----こうしても自身のNMSPのグローバルを参照してしまう。

諦めてznでネームスペースを切り替えてみようかな、とも思ったのですが、
python上でznをかける方法もよくわからず、対応方法に悩んでいます。

どなたか、上記の対応方法についてご存じな方はいらっしゃいませんでしょうか?

Product version: IRIS 2022.1
ディスカッション (5)1
続けるにはログインするか新規登録を行ってください

@Yuji Ohata さん、

リンクしていただいた回答が、現状対応できる方法だと思います。

PythonでObjectScriptと同じレベルのことができるように開発を続けているようですので、今後の拡張に期待しつつ、現在はこの方法でお願いできたらと思います。 

2023.1では、Embedded Pythonでネームスペースを変更する関数が実装されているようです。

iris.system.Process.SetNamespace(ネームスペース) です。変更に成功した場合、変更後のネームスペース名の文字列を返すようです。(変更前を返してくれた方が良い気もしますが、、)

>>> iris.system.Process.SetNamespace("WORK")
'WORK'