我是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)
答案 0 :(得分:8)
默认情况下,python同步运行(几乎所有编程语言都是如此)。这意味着任何语句将在下一个语句开始之前完成。你必须不遗余力地改变这种行为。
顺便说一下:你有一个问题,你在函数中引用x
但它没有被传入。这可能目前有效,因为x
被视为全局变量,但让你的函数接受它或更改你的glob.glob
调用会更合适。