[英]How to import list from main.py to task.py with Python 3 PyCharm?
如何在 task.py 中使用 main.py 中的列表? 代码如下。
主要.py:
import task.py
list_list = ["test1","test2"]
task.print_func()
任务.py:
from main import list_list
def print_func():
for x in list_list:
print(x)
这样我得到了以下错误:
AttributeError:模块“任务”没有属性“print_func”
您正在创建一个循环依赖项(参见例如这个说明),这是您通常想要避免的。
程序流程大致如下:
python main.py
import task
,从task.py
加载print_func
task.py
被执行,直接回到main.py
来检索list_list
...要解决您的问题,您可以执行以下操作:
主要.py:
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
无法定义的 task.print_func (因为它的定义取决于list_list
)。
一些一般要点:
list_list
以在task.print_func
中使用 - 我认为将列表作为参数传递会更好。考虑到所有事情,我会这样做:
主文件
import task
if __name__ == "__main__":
list_list = ["test1","test2"]
task.print_func(list_list)
任务.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)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.