2017-06-08 8 views
3

私は実際にPythonでフェーズを学んでいますが、私は特定の要件に関するグローバル変数について助けてください。Pythonでグローバル変数を宣言する方法

私はubuntu OS 16.04でpython 3.5を使用しています。一つのファイルにグローバル変数を宣言し、デフォルト値で初期化し、同じパッケージ内の別のpythonファイルにインポートする必要がありますが、

views.py:

from collections import OrderedDict 

request_dict = OrderedDict() 

def hello(): 
    print("hello from views file") 

AttributeError: module 'App.views' has no attribute 'request_dict'

以下与えられている私は、同様のコードを持って、心配しないでください:グローバル変数をインポートすると、そのファイルに次のエラー

task.py:

from . import views 

def addQueueTask(): 
    print('from task.py: ', views.request_dict) 
+1

「HI」を返しますフォルダ/ファイル構造を追加してください。 –

+0

あなたは 'Django'フレームワークを使用していますか? –

+2

'print(views .__ file __)'とは何ですか? –

答えて

1

あなたは、例えば、単に機能ファイルであるファイルをやって試してみました: funtions.py:

p = print 
i = input 

、その後はPythonのインストールフォルダにそのファイルを移動します。 Pythonシェルとアイドルがどこにあるか。そして、あなたが行うことができ、他のファイルに:

from functions import p 
p('hi') 

その後、このコードは

+0

ありがとうゾーンを共有してください。 –

-1
from views import * 

viewsからすべてのオブジェクトとメソッドをインポートします。しかし、それは一般的に何かあなたshouldn't do

必要な変数(複数可)をインポートし、名前空間を汚染しないようにのみ

from views import request_dict 

をご検討ください。

+1

これで問題は解決しません。名前 "request_dict"が "view"が解決するもので定義されていない場合、定義されていません。 –

+0

2番目のものを使用すると、エラーが発生します。 ImportError: 'views'という名前のモジュールがありません。私はなぜ –

+0

brunoが正しいのか分からない。あなたの貴重な助けをあなたのフォルダ構造 –

関連する問題