私はメインスクリプトファイルを持っています。main.pyと呼びましょう。サブディレクトリ "module /"にあるモジュールファイルを持っています。これをmod.py(module/mod.py)別のフォルダからpythonでモジュールをインポートする
ディレクトリツリーはこのようなものです:
-main.py
-module/
|
|---mod.py
今、私はmain.pyでグローバル変数を持っている、「」それはmod.pyに私が機能を持っている1. に等しいですそれを呼び出しますグローバル変数aを出力する必要があります。
main.py:
import sys
sys.path.append("module/")
from mod import *
global a
a = 1
print_it()
モジュール/ mod.py:
from main import *
def print_it():
global a
print a
私はmain.pyスクリプトを起動すると、私が手:
NameError: name 'print_it' is not defined
なぜ?
'module /'フォルダに 'main.py'ファイルがないので、 –
は動作しません。 'main'では' mod'をインポートし、 'mod'では' main'をもう一度インポートします。そして問題はここにあります。 'mod'は完全にインポートされていませんでした。そして 'print_it'は作成されないまでです。 – qvpham
この行を 'main.py'で' mod import * 'から' import mod'に変更するとどうなりますか? –