0

私は次の構造を持っています-

invoize/
    __init__.py
    globals.py
    view/
       __init__.py
       tags.py

globals.pyには、appという変数が含まれています。

  1. tags.pyからその変数にアクセスしたいと思います。
  2. その状態が(ローカル参照だけでなく)グローバルに反映されるように変更したいと思います。

上記を実現するためにtags.pyから変数アプリにアクセスするにはどうすればよいですか?

ありがとう、ムルタザ

4

2 に答える 2

4

相対インポートを使用します:

from ..invoize import globals
print globals.app
globals.app = True

これが機能するためには、次の点に注意してください。

  1. と並んで__init__.py、最上位にが必要です。viewinvoize

  2. tagsパッケージの外部からインポートする必要があります (viewフォルダーに入ってpython tags.py.

于 2012-11-08T08:44:52.513 に答える
1

「/invoize/」ディレクトリを含めるように PYTHONPATH 環境変数を編集しようとしましたか?

これが私があなたの質問に行った方法です:

[gp@imdev1 /testdir/invoize/view] export PYTHONPATH=$PYTHONPATH:/testdir/

[gp@imdev1 /testdir/invoize/view] echo $PYTHONPATH /opt/python3/lib/python3.3/selenium/webdriver/support/:/opt/python3/lib/python3.3/selenium/webdriver/ie/: /testdir/

/testdir/invoize/globals.py 内:

app = 'murtaza52'

/testdir/invoize/view/tags.py:

invoize.globals をインポート

invoize.globals.app を印刷

invoize.globals.app += '新しい値'

invoize.globals.app を印刷

[gp@imdev1 /testdir/invoize/view]$ python tags.py

ムルタザ52

ムルタザ52 ニューバリュー

于 2012-11-08T11:48:41.770 に答える