[英]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.