Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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_Python 3.x_Function - Fatal编程技术网

如何停止一段代码以在Python中运行另一段代码?

如何停止一段代码以在Python中运行另一段代码?,python,python-3.x,function,Python,Python 3.x,Function,例如,假设我有一个函数1和函数2。我是否能够运行函数_1,中途停止,等待函数_2完成,然后运行函数_1的其余部分?这两个函数是否在同一线程上的同一进程下运行?如果你不知道这意味着什么,他们可能是 如果是这样的话,就没有一个好的方法可以直接做到这一点。我的建议是以某种方式重构代码,这样就没有必要了,可以将函数分解成更小的函数,这样就可以运行一个小函数,完成函数1的第一部分,然后运行函数2,然后运行一个小函数完成函数1的第二部分 另一种方法是从函数1中调用函数2,这将把控制权转移到函数2,直到函数2

例如,假设我有一个函数1和函数2。我是否能够运行函数_1,中途停止,等待函数_2完成,然后运行函数_1的其余部分?

这两个函数是否在同一线程上的同一进程下运行?如果你不知道这意味着什么,他们可能是

如果是这样的话,就没有一个好的方法可以直接做到这一点。我的建议是以某种方式重构代码,这样就没有必要了,可以将函数分解成更小的函数,这样就可以运行一个小函数,完成函数1的第一部分,然后运行函数2,然后运行一个小函数完成函数1的第二部分

另一种方法是从函数1中调用函数2,这将把控制权转移到函数2,直到函数2返回

哪一个是更好的选择取决于问题的性质


编辑:当然,这不是唯一的方法,询问者可以在不同的线程上运行函数,并进行显式同步,但这是两种非常简单的方法来完成它们想要的任务。

这两个函数是在同一个进程下,在同一个线程上运行的吗?如果你不知道这意味着什么,他们可能是

如果是这样的话,就没有一个好的方法可以直接做到这一点。我的建议是以某种方式重构代码,这样就没有必要了,可以将函数分解成更小的函数,这样就可以运行一个小函数,完成函数1的第一部分,然后运行函数2,然后运行一个小函数完成函数1的第二部分

另一种方法是从函数1中调用函数2,这将把控制权转移到函数2,直到函数2返回

哪一个是更好的选择取决于问题的性质


编辑:当然,这不是唯一的方法,询问者可以在不同的线程上运行函数,并进行显式同步,但这是两种非常简单的方法,可以实现他们想要的功能。

我认为这可能会有所帮助,但如果你有一个明确的答案,请提供一个示例或想法,说明你想做什么

def func1():
print("func1")

def  func2():
    print("part1")
    func1()
    print("part2")

func2()

我认为这可能会有帮助,但如果你有一个明确的答案,请提供一个例子或你试图使什么想法

def func1():
print("func1")

def  func2():
    print("part1")
    func1()
    print("part2")

func2()

如果函数不太复杂,也不严重依赖于效率,那么简单的解决方案就是使用pythons时间模块,在需要函数暂停的地方使用time.sleep

您还可以尝试在函数_1中调用函数_2。这些思想通常用于递归的编程概念中 所以我的想法是

def function_1():
#function1 code
function_2()
#the rest of function1's code

def function_2():
#function_2's code
这应该遵循您想要的流程


希望这有帮助

如果函数不太复杂且不严重依赖于效率,那么粗糙的解决方案将是使用pythons时间模块并在需要函数暂停的地方使用time.sleep

您还可以尝试在函数_1中调用函数_2。这些思想通常用于递归的编程概念中 所以我的想法是

def function_1():
#function1 code
function_2()
#the rest of function1's code

def function_2():
#function_2's code
这应该遵循您想要的流程


希望这有帮助

什么事件会让你中途停下来?您可以在函数_1的代码的中间调用函数_2。@DanielWalker至少在我尝试时,函数_1中的print语句运行,然后函数_2,然后是第二个函数_1 print语句,但只有在这之后,函数_2中的sleep5才运行。中途停止是什么意思?你是说函数_1本身挂起在某一特定点?您的意思是,某些第三方在给定的时间、指令等暂停函数_1吗。。。??函数_1知道函数_2吗?为什么函数_1不在适当的位置调用函数_2?你介意编辑你的帖子并为我们展示一些你试图实现的东西的伪代码吗?这是否回答了你的问题?什么事件会让你中途停下来?您可以在函数_1的代码的中间调用函数_2。@DanielWalker至少在我尝试时,函数_1中的print语句运行,然后函数_2,然后是第二个函数_1 print语句,但只有在这之后,函数_2中的sleep5才运行。中途停止是什么意思?你是说函数_1本身挂起在某一特定点?您的意思是,某些第三方在给定的时间、指令等暂停函数_1吗。。。??函数_1知道函数_2吗?为什么函数_1不在适当的位置调用函数_2?你介意编辑你的帖子并为我们展示一些你试图实现的东西的伪代码吗?这是否回答了你的问题?