如果仅在定义函数中设置变量,如何从另一个Python脚本导入变量?

时间:2019-05-01 08:42:24

标签: python

所以我有两个脚本,一个是主脚本,另一个是辅助脚本。主要脚本只是主要的GUI代码,但是我想要其中一个按钮来设置变量,然后调用第二个脚本。然后,第二个脚本应导入变量并继续进行操作,但这不是这种情况。

我尝试在GUI代码外部预设变量,理论上,一旦按下按钮,它应该会更改,但是第二个代码只是导入了原始变量。

// Characters that will be used as word separators when doing word related navigations or operations.
"editor.wordSeparators": "`~!@#$%^&*()-=+[{]}\\|;:'\",.<>/?",
from second import recognition
repeater = True
task = "placeholder"

def resume():
    while repeater:
        try:
            task = "hello"
            print(task)
            recognition()

我认为这两个打印功能都会打印“ hello”,但是第二个打印功能会打印“ placeholder”。

编辑:我尝试过放

def recognition():
    import first
    task = first.task
    print(task)

global task
def resume():

while repeater:

但无济于事。

2 个答案:

答案 0 :(得分:1)

您需要让python知道您要修改全局task-否则python将在task内创建一个名称为resume的新局部变量。

在函数内添加global task声明即可完成工作

from second import recognition
repeater = True
task = "placeholder"

def resume():
    global task
    while repeater:
        try:
            task = "hello"
            print(task)
            recognition()

答案 1 :(得分:1)

您想要的是函数内部的global关键字。这将导致它使用外部变量。