2017-10-25 5 views
1

私は自分のモジュールを書く方法を理解しようとしていますが、簡単なモジュールを作成しようとしていますが、__init__ファイルの使い方は分かりません。自分のモジュールでファイルをインポート/コールする方法は?

だから今、私は "のhelloWorld" というパッケージがあり、その構造は次のようになります。

helloWorld 
    __init__.py 
    helloWorldFile.py 
    helloBonjourFile.py 

、これらは、各ファイルの内容は以下のとおりです。

__init__.py:

from helloWorldFile import helloWorldClass 

helloWorldFile.py:

import helloBonjourFile 

class helloWorldClass(): 
    def __init__(self): 
     self.keyword = 'Hello Beautiful World' 

    def hello(self): 
     print self.keyword 
     helloBonjourFile.run() 

helloBounjourFile.py:

import helloWorld 
reload(helloWorld) 
helloWorld.helloWorldClass().hello() 

def run(): 
    print 'Bonjour Mon Ami!' 

だから、アイデアは、私はそれが "helloWorldFile" から "helloBonjourFile" であるものは何でも実行したいので、私はPythonシェルでこれを実行してみてください、です

それは「こんにちは美しい世界」の部分の罰金を出力しますが、その後、私はエラーを取得しておいてください。

AttributeError: 'module' object has no attribute 'run'

私は私が間違ってこれについてつもりはかなり確信して、どのようにD o「helloWorld」と「helloBonjour」の両方の内容を正しく実行しますか?私は考え出し

私はまた、可能な場合は、「helloBonjour」に引数を渡す方法を把握したいと思います...

答えて

0

...実際最小限にこれらの事を実行してファイルを保存したいのですがこれは、同様の問題を抱えている可能性がある他の人にとっては、これは1つのファイルを編集して同じ環境でカスタムモジュールから実行しようとしたためで、すべてのファイルに対してreload()コマンドを実行して解決しました。しかし、あなたは、インポートされたファイルのためにそれをしなければならない、私の場合は、次の順序で再ロードする必要がありました:

reload(helloBounjourFile) 
reload(helloWorldFile) 
reload(helloWorld) 

、それはいくつかのことを試してみてくださいdoesntの場合には....トリックを行う必要がありますそれをリフレッシュするためにもっと多くの時間を(少なくとも私のために働いた)...

関連する問題