Python 在脚本之间导入变量

Python 在脚本之间导入变量,python,import,sys,Python,Import,Sys,我试图在脚本之间移动变量。我有两个脚本:script1.py和script2.py 在script1.py中,我使用sys.argv创建一个名为country的变量。 此变量导入到script2.py,后者处理国家/地区变量。问题是当我尝试将这个新变量导入到 script1.py我收到以下错误: from script2 import rule ImportError: cannot import name 'rule' 我正在终端中运行script1.py python script1.py

我试图在脚本之间移动变量。我有两个脚本:script1.py和script2.py

在script1.py中,我使用sys.argv创建一个名为country的变量。 此变量导入到script2.py,后者处理国家/地区变量。问题是当我尝试将这个新变量导入到 script1.py我收到以下错误:

from script2 import rule
ImportError: cannot import name 'rule'
我正在终端中运行script1.py

python script1.py us
脚本1.py

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

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

谢谢

依赖循环的进口将引发进口恐慌。 按如下方式修改脚本:

脚本1.py

import sys
country = str(sys.argv[1])
from script2 import rule
print(rule(country))
script2.py只有一行

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

循环依赖进口的情况可能与此重复。检查:不确定这是100%重复。您通常可以通过避免从导入来避免此问题,至少在您的情况下是这样。通过script1.country和script2.rule访问成员,您应该可以。此外,如果可以,请避免循环导入。不是说你总是可以,但他们总是做复杂的事情。我尝试使用script1.country和script2.rule,我得到以下错误:AttributeError:module'script2'没有属性'rule',但它在我的机器上工作。你的操作系统和python版本是什么?使用python 3.6。OS=MacOS Sierra。版本10.12.14我现在不知道。我还使用Python3.6,而OS=Ubuntu17,脚本工作正常。