如何使用主脚本的变量执行辅助脚本?

时间:2019-03-13 16:17:18

标签: python python-3.x

我有一个正在运行的主要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)启动的范围内全局查看

编辑:我知道我显然可以通过输入将变量传递给函数,但是我希望不必这样做。当辅助脚本需要访问许多变量时,它将变得混乱。

1 个答案:

答案 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传递字典。然后它们将被您的函数读取为关键字变量。