2017-05-24 4 views
0

스크립트간에 변수를 이동하려고합니다. 두 스크립트가 있습니다 : script1.py와 script2.py스크립트 간 변수 가져 오기

script1.py에서 저는 country라는 변수를 생성하기 위해 sys.argv를 사용하고 있습니다. 이 변수는 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 (한 라인)

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

이것이 작동하지 않았습니다. 계속 같은 오류가 발생합니다 – David

+0

하지만 내 컴퓨터에서 작동했습니다. 귀하의 OS와 Python 버전은 무엇입니까? – williezh

+0

python을 사용하여 3.6. OS = MacOS Sierra. 버전 10.12.14 – David