Python how to include function from another file
我在将另一个文件中的函数包含到主可执行脚本中时遇到问题。我有太多的函数,我的主脚本变得太长和难以管理。所以我决定将每个函数移动到单独的文件中,然后附加/包含它。我在这里读了几乎所有相关的文章来解决我的问题,但没有运气。让我们看看:
1 2 3 4 5 6 7 8 9 10 11 12 | main_script.py ================== from folder.another_file import f_fromanotherfile class my_data: MDList=[] work=my_data() def afunction(): f_fromanotherfile() return |
和
1 2 3 4 5 6 7 | another_file.py ===================== #In this file i've put just function code def f_fromanotherfile(): a=[1,2,3,4] work.MDList=a return |
号
这就是错误:
第11行,在另一个文件中work.mdlist=a名称错误:未定义全局名称"work"
请帮帮我
因为在另一个文件中。
1 2 3 4 5 | #In this file i've put just function code def f_fromanotherfile(): a=[1,2,3,4] work.MDList=a return |
工时不是全局变量。然后对其进行赋值将无法工作。
您应该将您的代码更改为:another_file.py
1 2 3 4 5 6 | #In this file i've put just function code def f_fromanotherfile(): global work a=[1,2,3,4] work.MDList=a return |
。
使用global关键字u可以在所谓的global scope中说变量并执行ur赋值。
PS:有点像C中的关键字extern?
"work"的范围是其模块main_script.py,因此您无法从其他模块访问它。将"work"变为其他文件中的f_参数:
在另一个文件中:
1 2 | def f_fromanotherfile(work): # function body stays the same |
在主模块py中:
1 2 | def afunction(): f_fromanotherfile(work) |
号