2024-04-24 14:01:40 发布
网友
我有3个python脚本,我正试图作为最终的脚本运行,但我无法转移变量。我把所有的资料都写下来了。你知道吗
script\u B.py和script\u C.py使用脚本A中的所有变量,因此“from script\u A import*”对每个变量都有效。你知道吗
我想在最终脚本final中同时运行script\B.py和script\C.py_脚本.py 在我的期末考试中,如果不需要两次初始化script\u A.py中的变量,我怎么做呢_脚本.py?你知道吗
如果需要将script_B.py和script_C.py文件分别作为可执行脚本,我的解决方案是重构脚本以包含将所有相关变量作为参数的函数:
script_B.py
script_C.py
script_A.py:
script_A.py
var1 = 'foo' var2 = 'bar'
def do_b(var1, var2): pass # do things with var1 and var2 if __name__ == '__main__': from script_A import var1, var2 do_b(var1=var1, var2=var2)
def do_c(var1, var2): pass # do things with var1 and var2 if __name__ == '__main__': from script_A import var1, var2 do_c(var1=var1, var2=var2)
final_script.py
from script_A import var1, var2 from script_B import do_b from script_C import do_c def main(): do_b(var1, var2) do_c(var1, var2) if __name__ == '__main__': main()
您可以分别使用script_B和script_C引用script_A的变量。你知道吗
script_B
script_C
script_A
下面是一个演示:
A.py
foo = 5 print('In A')
B.py
from A import * print('In B')
final.py
import B print('In final') print B.foo
现在,运行final.py会得到:
In A In B In final 5
如您所见,一旦B导入A的数据,它就成为了B的一部分,因此import B的其他类可以通过B直接引用A的数据,而无需再次导入A。你知道吗
B
A
import B
如果需要将
script_B.py
和script_C.py
文件分别作为可执行脚本,我的解决方案是重构脚本以包含将所有相关变量作为参数的函数:script_A.py
:script_B.py
script_C.py
final_script.py
您可以分别使用
script_B
和script_C
引用script_A
的变量。你知道吗下面是一个演示:
A.py
B.py
final.py
现在,运行
final.py
会得到:如您所见,一旦
B
导入A
的数据,它就成为了B的一部分,因此import B
的其他类可以通过B
直接引用A
的数据,而无需再次导入A
。你知道吗相关问题 更多 >
编程相关推荐