我有一個巨大的項目分成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 –