我如何在task.py中使用main.py中的列表?下面的代码。
main.py:
import task.py
list_list = ["test1","test2"]
task.print_func()
task.py:
from main import list_list
def print_func():
for x in list_list:
print(x)
以这种方式,我收到以下错误:
[AttributeError:模块'任务'没有属性'print_func']
您致电python main.py
import task
被执行,以从print_func
加载task.py
task.py
被执行,直接返回main.py
以检索list_list
...import task
list_list = ["test1","test2"]
# Only run this, if main.py is run directly, not in import
if __name__ == "__main__":
task.print_func()
task.py :(无更改)
from main import list_list
def print_func():
for x in list_list:
print(x)
此更改允许task.py
导入list_list
,而无需尝试执行当时无法定义的task.print_func
(因为其定义取决于list_list
)。
一些一般要点:我不明白为什么要从main导入
list_list
以便在task.print_func
中使用-我认为将列表作为参数传递会更好。
import task
if __name__ == "__main__":
list_list = ["test1","test2"]
task.print_func(list_list)
task.py:
def print_func(list_list):
for x in list_list:
print(x)
import task
list_list = ["test1","test2"]
if __name__=="__main__":
task.print_func()
from main import list_list
def print_func():
for x in list_list:
print(x)