2017-05-24 3 views
0

スクリプト間で変数を移動しようとしています。私は2つのスクリプトを持っています:script1.pyとscript2.pyスクリプト間で変数をインポートする

script1.pyでは、私はsys.argvを使ってcountryという変数を作成しています。 この変数はcountry変数を処理するscript2.pyにインポートされます。

from script2 import rule 
ImportError: cannot import name 'rule' 

私は、端末

python script1.py us 

script1.pyでscript1.pyを実行している:私は、私は次のエラーを取得する script1.pyに戻って、この新しい変数をインポートしようとすると問題があります

import sys 
country = str(sys.argv[1]) 
from script2 import rule 
print (rule) 

script2.py

from script1 import country 
rule = 'this is a rule' + country 

ありがとう!

+5

の可能性のある重複した[はImportError:名前Xをインポートすることはできません](HTTPS: //stackoverflow.com/questions/9252543/importerror-cannot-import-name-x) – cookiedough

+2

これは循環依存のインポートのケースです。チェックアウト:[このリンク](https://stackoverflow.com/questions/9252543/importerror-cannot-import-name-x) – cookiedough

+0

これは100%詐称であるかどうかわかりません。 –

答えて

1

円依存型のインポートでは、ImportErrorが発生します。次のように
は、スクリプトを変更します。

script1.py

import sys 
country = str(sys.argv[1]) 
from script2 import rule 
print(rule(country)) 

script2.py(ちょうど1本のライン)

rule = 'this is a rule{}'.format 
+0

これは動作しませんでした。私は同じエラーが発生し続ける – David

+0

しかし、それは私のマシンで働いた。あなたのOSとあなたのpythonバージョンは何ですか? – williezh

+0

pythonを使用して3.6。 OS = MacOS Sierra。バージョン10.12.14 – David

関連する問題