如何 运行 python 脚本中的一些代码,然后暂停脚本并等待来自另一个脚本的函数调用

How to run some code in python script, then pause script and wait for function call from another script

对我来说有点难以解释,但我有一个 python-脚本 (A) 和一些代码部分,它在启动时运行并初始化一些东西和变量,然后是脚本 (A)应该等待...

脚本 (A) 还有一个函数 (f) 使用初始化的东西和变量。

然后我想从另一个脚本 (B) 调用这个函数 (f)。

但我的问题是,脚本 (A) 在初始化部分之后关闭,因为脚本已完成。它这样做对我来说是合理的,但我怎么能让它等待来自另一个脚本 (B) 的调用。


示例可以是: 脚本 A:

# init-part
if __name__ == '__main__':  # file is executed
    x = 3*4
# end init-part

else:
    def f():
        return x+5

脚本 B:

import filenameA

# call funtion from A, which uses the preinitalized variable x
y = filenameA.f()
print('y=' + str(y))

演示的初始化部分在这里很简单,但实际上它更复杂,但对于我的问题现在没有必要。 就是这样。


我认为这很简单,我想通过控制台 'python filenameA.py' 启动脚本 A,当我从另一个控制台启动 'python filenameB.py' 时,它应该初始化并等待函数调用。

但是脚本 A 在初始化后关闭...等待循环使用 CPU-time,这不是我想要的。

我不知道如何正确搜索解决方案,因为我很难找到合适的关键字-.- 我希望你明白我想要达到的目标 =)

感谢您的帮助 ;) apfeltree

脚本 A

from B import b
x = 0

def f():
    return x + 5

def init():
    global x
    x = 3 * 4

if __name__ == '__main__':  # file is executed
    init()
    b(f)
# end init-part

脚本 B:


def b(f):
    # call funtion from A, which uses the preinitalized variable x
    y = f()
    print('y=' + str(y))

好的,现在已经完成了。 我在 A 中实现了服务器,在 B 中实现了客户端。所以一开始用户启动A并且A进行预计算然后启动服务器并等待一些客户端......当用户启动B然后它连接到A,传输其参数并且A根据预计算进行计算并且答案 B 解决方案。 (y) --> 对我来说干得好