使用while循环从另一个python脚本调用函数

时间:2016-08-22 07:18:01

标签: python

我有一个带有函数和while循环的python脚本,我想从另一个也有一个while循环的python脚本调用这个函数。这是一个示例脚本:

script1.py:

global printline
printline = abc

def change(x):
    global printline
    printline = x

while True:
    global printline
    print printline

这是script2.py:

from script1 import change

change(xyz)

while True:
    print hello

当我运行script2.py时,它开始打印abc,并且不会进入此脚本中的while循环。

当我运行script1.py时,它会输出abc。

当我一起跑,在不同的终端,都打印abc。

我需要它,以便在运行两个脚本时,script2.py可以在进入while循环时更改变量printline。

我不知道这是否是正确的方式,因为我是python的新手。

感谢。

1 个答案:

答案 0 :(得分:1)

执行from script1 import change后,它会执行script1.py中的所有顶级代码。因此它执行while True:块,它无限循环,并且永远不会返回script2.py

您需要拆分script1.py,以便在不执行顶级代码的情况下导入change()函数。

change.py:

def change(x):
    global printline
    printline = x

script1.py:

from change import change

change("abc")
while True:
    print printline

script2.py:

from change import change

change("xyz");
while True:
    print printline