如何在终止后导入另一个 python 文件
How to import another python file after terminating
这是一个图像识别代码,允许用户登录并使用另一个 Python 脚本。如果识别出面部,则中断面部检测,然后允许登录用户访问另一个 Python 脚本。代码不能 运行 两者,一个应该然后另一个开始。下面是示例代码
Login=0
while True:
ret, frame = video_capture.read()
rgb_frame = frame[:, :, ::-1]
face_locations = fr.face_locations(rgb_frame)
face_encodings = fr.face_encodings(rgb_frame, face_locations)
for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):
matches = fr.compare_faces(known_face_encondings, face_encoding)
face_distances = fr.face_distance(known_face_encondings, face_encoding)
best_match_index = np.argmin(face_distances)
if matches[best_match_index]:
Print("successfully loged in")
Login=1
if Login==1:
break
import file
不幸的是,代码在不提供对其他文件的访问的情况下中断,它只是中断并终止代码。请帮我解决这个问题。
那是因为您的 import file
语句出现在 break
之后。一旦到达break
,就会离开它所在的循环,不执行同一个循环内break
之后的行。
只需删除此处的中断
if Login==1:
#break # this makes the if clause to break and doesnt run import file
import file
break
语句跳出for
循环,因此您需要在与for
和if
语句相同级别使用import file
应该在 for
里面
Login=0
while True:
ret, frame = video_capture.read()
rgb_frame = frame[:, :, ::-1]
face_locations = fr.face_locations(rgb_frame)
face_encodings = fr.face_encodings(rgb_frame, face_locations)
for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):
matches = fr.compare_faces(known_face_encondings, face_encoding)
face_distances = fr.face_distance(known_face_encondings, face_encoding)
best_match_index = np.argmin(face_distances)
if matches[best_match_index]:
Print("successfully loged in")
Login=1
if Login==1:
break
import file
您需要在 break 之前切换所需的函数,因为它会完全退出并放弃循环的其余部分
if Login==1:
import file
break
这是一个图像识别代码,允许用户登录并使用另一个 Python 脚本。如果识别出面部,则中断面部检测,然后允许登录用户访问另一个 Python 脚本。代码不能 运行 两者,一个应该然后另一个开始。下面是示例代码
Login=0
while True:
ret, frame = video_capture.read()
rgb_frame = frame[:, :, ::-1]
face_locations = fr.face_locations(rgb_frame)
face_encodings = fr.face_encodings(rgb_frame, face_locations)
for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):
matches = fr.compare_faces(known_face_encondings, face_encoding)
face_distances = fr.face_distance(known_face_encondings, face_encoding)
best_match_index = np.argmin(face_distances)
if matches[best_match_index]:
Print("successfully loged in")
Login=1
if Login==1:
break
import file
不幸的是,代码在不提供对其他文件的访问的情况下中断,它只是中断并终止代码。请帮我解决这个问题。
那是因为您的 import file
语句出现在 break
之后。一旦到达break
,就会离开它所在的循环,不执行同一个循环内break
之后的行。
只需删除此处的中断
if Login==1:
#break # this makes the if clause to break and doesnt run import file
import file
break
语句跳出for
循环,因此您需要在与for
和if
语句相同级别使用import file
应该在 for
Login=0
while True:
ret, frame = video_capture.read()
rgb_frame = frame[:, :, ::-1]
face_locations = fr.face_locations(rgb_frame)
face_encodings = fr.face_encodings(rgb_frame, face_locations)
for (top, right, bottom, left), face_encoding in zip(face_locations, face_encodings):
matches = fr.compare_faces(known_face_encondings, face_encoding)
face_distances = fr.face_distance(known_face_encondings, face_encoding)
best_match_index = np.argmin(face_distances)
if matches[best_match_index]:
Print("successfully loged in")
Login=1
if Login==1:
break
import file
您需要在 break 之前切换所需的函数,因为它会完全退出并放弃循环的其余部分
if Login==1:
import file
break