等到函数在Python中完成执行

时间:2016-10-28 02:28:17

标签: python

我是Python的新手

我有以下代码:

在我的内部有另一个for循环,然后第二个for循环调用一个函数,它执行另一个for循环。现在我希望第二个for循环等到第三个循环完成它的工作。怎么做?

由于

def GetArea(img):
    os.chdir("C:\RJC Files\Thesis\Biometrics Thesis\Raw Data\Pics\PickedImages\\" + str(x) + "\\Process")
    for file2 in glob.glob("*.png"):
        # DO SOMETHING 
        # TAKE SOMETIME TO FINISH HERE.
-----------------------------------------------------------     
for x in range(1, 2):
    os.chdir("C:\RJC Files\Thesis\Biometrics Thesis\Raw Data\Pics\PickedImages\\" + str(x) + "\\Area")
    for file in glob.glob("*.png"):
        img = cv2.imread(file, 0)

        GetArea(img)

1 个答案:

答案 0 :(得分:8)

默认情况下,python同步运行(几乎所有编程语言都是如此)。这意味着任何语句将在下一个语句开始之前完成。你必须不遗余力地改变这种行为。

顺便说一下:你有一个问题,你在函数中引用x但它没有被传入。这可能目前有效,因为x被视为全局变量,但让你的函数接受它或更改你的glob.glob调用会更合适。