여러 함수를 하나씩 실행하려고합니다.하지만 코드가 반복적으로 멈추는 경우가 있습니다. multiprocessing
을 구현하려고 시도했는데 this thread 사람이 권장했으나 도움이되지 않았습니다.파이썬에서 함수를 연속적으로 실행하기
내 기능은 사진과 관련된 키워드 목록을 가져 오기 위해 Clarifai에 사진을 보내고 그 다음에는 로컬 변수와 일치하는 단어가 목록에있는 경우 화면의 아무 곳이나 클릭하도록 PyAutoGUI에 지시합니다. 다음과 같은 하나 개의 함수 보이는 내용은 다음과 같습니다
def p1_click(keyword, p1, app, model):
p1_response = model.predict_by_filename(filename='/Users/raulrodriguez/CODE6_OS/scripts/captcha/saucissons/p1.png')
p1_concepts = p1_response['outputs'][0]['data']['concepts']
for concept in p1_concepts:
clean_list = list(map(lambda s: s.strip(), concept['name']))
while any(word == inflection.singularize(keyword) for word in concept['name'].split()) == True:
pyautogui.click(x=490, y=385)
break
if __name__=='__main__':
p1 = Process(target=p1_click(keyword, p1, app, model))
p1.start()
는 분명히, 나는 여러 장의 사진이 작업을 수행하려고 해요 - (10)는 정확하기 위하여 - 즉, (p2_click
를 이전 코드를 복제 해 사진의 수를 p1
를 대체하여. .. 이라는 사진은 p2.start()
), pyautogui.click
연산자의 좌표 값을 변경하십시오. 그러나 문제는 내가 모든 것을 집어 넣을 때 커서는 pyautogui.click
좌표로 이동하여 일치가 있고 끊임없이 클릭한다는 것입니다. 프로그램이 한 번 일치하는 사진을 클릭 한 다음 다음 단계로 이동하는 연쇄 반응을하려는 것입니다. 누군가가 차일을 칠 정도로 친절하면, 나는 진정으로 도움을 주실 것입니다.
감사에서 사용하는 방법에 대한 자세한 정보를 얻을 수 있습니다! 'objc [3396] : fork()가 호출되었을 때 다른 스레드에서 + [NSEvent initialize]가 진행 중일 수 있습니다. fork() 자식 프로세스에서 안전하게 호출하거나 무시할 수는 없습니다. 대신 충돌. 디버깅 할 objc_initializeAfterForkError에 중단 점을 설정하십시오.''p1.start()'를 제거해야합니까? – solo
@rrod 플랫폼 문제 같은 것 같습니다. 파이썬과 관련이 없습니다. 빠른 [google 검색] (https://www.google.co.in/search?q=objc%5B3396%5D%3A+%2B%5BNSEvent+initialize%5D+may+have+been+in+progress+in + another + thread + when + fork() + was + oq = objc % 5B3396 % 5D % 3A + % 2B % 5BNSEvent + 초기화 % 5D + 초기화 + 완료 + 진행 + in + 다른 + thread +() + was + asqs = chrome..69i57.391j0j7 & sourceid = chrome & ie = UTF-8)가 도움이 될 수 있습니다. 이것이 도움이되지 않으면 다른 질문을 할 수 있습니다. 이 대답은 함수를 병렬로 호출하는 원래의 문제를 해결합니다. –