1

私はPyQt4プログラムを書いていて、多くの辞書を操作しています。ファイルスクリプト自体には問題はありませんが、ファイルスクリプトにない辞書を使用する必要があり、それらを正しくインポートして使用して「実際の」辞書を更新する方法がわかりません。

すべての辞書は、プログラムの上部にあるinitコンストラクターで宣言されています。

これが私のプログラムの一部で、関数内のサンプル辞書を示しています。

self.dicoMentalRay = { 'projectDirectory' : self.mentalrayProjectDirectory_Text.text(),
'sceneFilename' : self.mentalrayProjectSceneFilename_Text.text(),
'renderer' : self.mentalrayRenderingRenderer_Text.text() }

そしてここで私が(別の機能で)ボタンをクリックした後にそれがどのように更新されることになっているのか:

self.dicoMentalRay.update(dicoMentalRay2)

「dicoMentalRay2」は、私のスクリプトの同じディレクトリにある別の.pyファイルにあるはずです。うまくインポートします

import dico

問題は、私が常に同じエラーを受け取ることです:

NameError: global name 'dicoMentalRay2' is not defined

問題は、私の「dico.py」の書き方が悪いことだと思います。確かに、私はその中に新しい辞書を書くだけで、クラスや関数のような他には何も書きません。

どうすればいいですか?ありがとう !

4

1 に答える 1

1

dico ファイルから dicoMentalRay2 を使用するには、次を使用する必要があります。

from dico import dicoMentalRay2
self.dicoMentalRay.update(dicoMentalRay2)

また

import dico
self.dicoMentalRay.update(dico.dicoMentalRay2)
于 2012-06-13T09:49:35.970 に答える