以下是我的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()
答案 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秒钟调整为您期望的最短时间