Python控制流问题:函数调用

时间:2016-05-03 06:21:25

标签: python

以下是我的python代码的控制流程:

from BB import B
def A(param):
    ...
    ...
    //This takes a while to complete execution
    ...
    B()
print something
A(param) //Function call

这里的问题是在A完成执行之前调用函数B. A创建并写入文件,而B从中读取并执行某些操作。 A完成后调用B非常重要。

我尝试了这个,但它解决了这个问题。

from BB import B
def A(param):
    ...
    ...
    //This takes a while to complete execution
    ...
print something
A(param) //Function call
B()

2 个答案:

答案 0 :(得分:0)

听起来你需要让A成为阻止呼叫 - 即避免在进程完成之前返回。如果它正在写入文件,您可以考虑以下内容:

import os

from time import sleep

def A(param):

    filepath = "/path/to/output/file"
    ... do stuff ...
    while not os.path.exists(filepath):
        sleep(5)
    B()

但是,正如@Joze评论一样,您可能只想出于一般构图原因而使用回调策略。

答案 1 :(得分:0)

暴力强迫它,你可以在B()做一些阅读之前放置一个计时器。 进口时间 time.sleep(5)#delays 5秒

或者将5秒钟调整为您期望的最短时间

相关问题