Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python脚本中运行一些代码,然后暂停脚本并等待来自另一个脚本的函数调用_Python_Function_Wait_Method Call - Fatal编程技术网

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

如何在python脚本中运行一些代码,然后暂停脚本并等待来自另一个脚本的函数调用,python,function,wait,method-call,Python,Function,Wait,Method Call,这对我来说有点难解释,但是我有一个python脚本(a)和一些代码部分,它在start上运行并初始化一些东西和变量,然后脚本(a)应该等待 脚本(A)还有一个函数(f),它使用初始化的东西和变量 我想从另一个脚本(B)调用这个函数(f) 但我的问题是,脚本(A)在init部分之后关闭,因为脚本已经完成。它这样做对我来说似乎是合理的,但我怎么能让它等待来自另一个脚本(B)的调用呢 例如: 脚本A: #初始化部分 如果uuu name uuuu='uuuu main uuuuu':#文件被执行 x

这对我来说有点难解释,但是我有一个python脚本(a)和一些代码部分,它在start上运行并初始化一些东西和变量,然后脚本(a)应该等待

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

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

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


例如: 脚本A:

#初始化部分
如果uuu name uuuu='uuuu main uuuuu':#文件被执行
x=3*4
#结束初始部分
其他:
def():
返回x+5
脚本B:


def b(f):
    # call funtion from A, which uses the preinitalized variable x
    y = f()
    print('y=' + str(y))
导入文件名a
#从A调用函数,该函数使用预先初始化的变量x
y=filenameA.f()
打印('y='+str(y))
这里演示的init部分非常简单,但实际上更复杂,但对于我的问题,现在不需要了。 就这样


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

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

我不知道如何正确地搜索解决方案,因为我很难找到正确的关键字-- 我希望你理解我想要实现的目标=)

我感谢你的帮助;) 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,A进行预计算,然后启动服务器并等待一些客户端。。。当用户启动B时,它连接到A,传输其参数,A根据预计算进行计算,并回答B的解决方案。(y)
-->对我来说做得很好

可能是一个复制品,这里的RPC链接是什么?你能解释一下吗@伊万_pozdeev@jdigital不,我想我没有其他问题。我只想在以后的函数调用中使用时间更密集的init部分,而不需要再次执行init部分…您只需要编写一个调用脚本B。这样,A可以初始化东西,通过调用B等待B,B可以从A调用某些东西。B不应该直接在A之后调用。有一些用户,它会在随机时间手动启动B,当用户需要从f()进行一些计算时……您的意思是当用户启动a时,每次计算的值可能不同,或者可能需要很长时间来计算,因此它需要a事先对其进行预计算,并可能会等待多个用户运行B?是的,我们现在走在正确的轨道上:A应该预先计算值,每次都不不同,但计算需要一些时间。用户可以从B开始使用函数f()(使用一些可能与earch调用不同的参数),然后计算结果,但不需要太多时间,因为有些值是由a预先计算的。用户可以多次开始此计算,每次都应该使用预先计算的值——它们保持不变。我想确保用户从B调用的速度更快,因为有些值是预先计算的;)为什么不将运行脚本的结果保存到文件并退出呢。稍后脚本B运行,从A调用一些函数,这些函数读取文件并返回数据。