我有一个正在运行的主要python脚本(这很长),因此我将其部分划分为不同的python脚本。我认为在主脚本中声明的任何变量都将被视为辅助脚本的全局变量(只要主脚本调用了辅助脚本),但是我遇到了问题。这是一个简化的示例:
mainscript.py:
import auxscript
a = 1
auxscript.auxscript()
auxscript.py:
def auxscript():
print("the value of a is: %s" %a)
if __name__ == '__main__':
auxscript()
执行此操作的正确方法是什么?我希望auxscript首先在本地查找a,然后在找不到它之后,在从(mainscript.py)启动的范围内全局查看
编辑:我知道我显然可以通过输入将变量传递给函数,但是我希望不必这样做。当辅助脚本需要访问许多变量时,它将变得混乱。
答案 0 :(得分:0)
您可以像这样传递给您的函数。
mainscript.py:
import auxscript
a = 1
auxscript.auxscript(a)
auxscript.py
def auxscript():
print("the value of a is: %s" %a)
if __name__ == '__main__':
auxscript(a)
函数通常只能访问传递给它们或在其中创建的变量。
编辑:看到您的编辑。为什么不使用上述功能,而不是传递一长串变量,您可以使用** args传递字典。然后它们将被您的函数读取为关键字变量。