我试图理解如何访问和递增驻留在另一个脚本中的整数。我的等级是这样的:
- TestDirectory
-- foo.py
-- bar.py
示例:
foo.py公司
import TestDirectory.bar as bar
def main():
testCounter = 0
bar.increment()
print(testCounter)
main()
棒.py
import TestDirectory.foo as foo
def increment():
foo.main().testCounter += 1
我希望打印结果返回1,但它给了我一个错误:
AttributeError: module 'TestDirectory' has no attribute 'bar'
有人能解释或解决我的问题吗?你知道吗
发布我的解决方案来帮助任何需要帮助的人!你知道吗
层次结构是这样的(尽管这不重要):
解决方案:
foo.py公司
棒.py
虽然我无法重现你的错误(这没关系),但你似乎在这里被搞砸了。你知道吗
在您的案例中,绕过循环问题的简单方法如下:
bar.py
中,修改increment
函数的行为,将int
作为输入参数,并在更新后返回。你知道吗foo.py
中,更新main
以将testCounter
作为参数发送并捕获其返回值。你知道吗foo.py
中的import语句(取决于您的约定),同时删除bar.py
中的循环导入。你知道吗以下是我为解决这个问题所做的最低限度的代码更改。
注意:从
TestDirectory
文件夹中运行。你知道吗foo.py公司
棒.py
你的代码有很多问题:
bar
访问foo
,并且从foo
访问bar
,因此您最终会得到一个循环导入,本地导入可以避免这种情况这里有一个解决你问题的方法,但很可能,你会做得更好的设计更改,而不是我所提供的:
你知道吗foo.py公司你知道吗
你知道吗棒.py你知道吗
相关问题 更多 >
编程相关推荐