我有一个巨大的项目分成3个文件。我通常没有问题使用另一个文件中的一个文件的功能,但这次我无法做到这一点。此外,我不太明白为什么我通过文件之间传递的列表中的一个列表在它离开函数后正在消失。不能使用Python中的文件之间的函数
文件:settings.py
list1 = []
文件:globals.py
from settings import *
def foo(hey):
global list1
list1.append(hey)
文件:new_code.py
from settings import *
from globals import *
def cool_function():
global list1
list1 = []
hey = "you"
foo(hey)
print (list1)
cool_function()
钍问题是我的代码不能从globals.py
调用foo。我在foo得到一个缩进错误。即使这个问题已经解决,我正在处理的实际项目list1会被追加到settings.py
文件中,但是当我返回到cool_function后,它将返回为空。
更新:即使在new_code.py
文件中删除list1 = []
的代码仍然是无法从settings.py
调用函数foo。如果你想看看这里的文件: https://drive.google.com/file/d/1ZiTwl-DOPfZCrrrA1kBcBHh8c9AInFLI/view?usp=sharing>文件
更新:我改变了globals.py
文件
从设置导入* 高清富(嘿嘿): list1.append(哎)
而且new_code.py
文件
from settings import *
from globals import *
global list1
def cool_function():
list1 = []
hey = "you"
foo(hey)
print (list1)
cool_function()
这解决了这个问题,但我不明白为什么。
使用进口*被认为是不好的做法,采用进口FUNC1,FUNC2,FUNC3 –