Python을 사용한 자동화 및 다중 처리
5269 단어 webdevpythonprogrammingbeginners
TL; DR
작업을 실행하는 방법을 찾을 때 Python은 읽기/쓰기 또는 API 호출 여부에 관계없이 이러한 작업을 자동화할 수 있는 도구를 제공하며 이것이 필요할 수 있는 많은 사용 사례가 있습니다.
무엇을 이해하는 것부터 시작합시다. 그렇다면 파이썬의 하위 프로세스는 무엇입니까?
A subprocess in Python is a task that a python script delegates to the Operative system (OS) - Daniel Diaz, GeekFlare
요컨대 하위 프로세스는 운영 체제와의 새로운 수준의 응집력을 제공하여 달성할 수 없는 것을 달성할 수 있도록 합니다.
소개
이 튜토리얼을 마치면
핵심 개념
이 자습서에서는 Python 프로그래밍 및 데이터 구조에 대한 몇 가지 기본 기초가 있다고 가정합니다.
subprocess 모듈의 좋은 점은 파이썬 개발자로서 우리에게 제공되는 핵심 유틸리티에 속한다는 것입니다. 이것은 PIP 또는 Pipenv를 사용하여 이 모듈을 종속성으로 설치할 필요가 없다는 것을 의미합니다. 이미 우리를 위해 있습니다!
#calling the subprocess module into our environment
import subprocess
빠른 사용 사례,
우리의 신청
이 자습서에서는 Process.start() 모듈을 사용하여 Excel 데이터에 대한 백그라운드 계산을 실행하는 방법을 살펴봅니다.
지도 시간
따라서 하위 프로세스 패키지가 수행하는 작업과 가져오기 수준에서 어떻게 보이는지 높은 수준에서 학습한 후에는 자습서의 이 부분으로 이동할 준비가 된 것입니다.
Python에서 제공하는
Process.start()
라이브러리의 multiprocessing
api를 사용할 두 가지 빠른 구분을 제공하고 싶었습니다.그렇다면 하위 프로세스를 다루는 이유는 무엇입니까?
나는 거꾸로 설명하는 것을 좋아합니다. 나에게 이것은 내가 배우고 있는 것이 시각적으로 집약적이기보다는 읽기 집약적일 때 내가 배우고 있는 환경의 전체 맥락을 이해함으로써 도움이 됩니다.
요약: 이제 어떤 하위 프로세스가 멀티프로세싱을 의붓 자식/(실제 부모)으로 생각하는지 알고 있습니다. 백그라운드에서 해당 프로세스를 실행하는 대신 이제 여러 프로세스를 한 손으로 실행하여 "포그라운드"로 가져올 수 있습니다.
일
여기서 우리는 데이터 세트를 가져오고 기본 산술 정렬을 사용하여 데이터 목록의 모든 항목을 합산합니다. 한 번
이것이 완료되었습니다. 코드를 사용하여 배치 프로세스를 시뮬레이션하기 위해 60초마다 발생하도록 작업을 설정합니다. 실제 시나리오에서 더 많은 것을 도출하기 위해 이 데이터 세트는 회사의 의료/재무 데이터가 될 수 있으며 귀하의 작업은 이 데이터를 추출하여 목록으로 변환하는 것이었습니다. 따라서 그렇게 한 후 회사는 격주 결정을 내리기 위해 이 목록의 모든 데이터에 대한 요약이 필요합니다.
데이터 세트
#lets assume this data is updated every half minute
data = [3, 4, 7, 10, 2, 32, 15, 8]
암호
from multiprocessing import Process
from file_location import data
def process_manager(data):
while True:
results = sum(data)
time.sleep(60)
return results
if __name__ == '__main__':
p = Process(target=process_manager(), args=(data))
p.start()
설명하기 위해
multiprocessing
거의 실시간 데이터 개체를 코드 환경으로 가져옵니다. 매분 실행하려는 프로세스를 관리하는 기능을 정의합니다.여기에서 프로세스가 대상 함수와 인수라는 두 가지 인수를 취하는 방법을 볼 수 있습니다. 이들은 함께 작동하여 개발자 환경에서 이 프로세스를 포크하고 애플리케이션과 동기화하여 실행합니다.
참고: Python은 Rust와 같은 다른 언어에서 제공하는 다른 도구/패키지에 비해 다중 처리 및 동시성이 부족/고투하는 것으로 알려져 있으므로 시간 비용 결정을 내릴 때 장단점을 확인해야 합니다. 문제가 발생하면 코드를 디버깅하고 실행하는 데 약간의 시간을 할애하십시오. 이것은 더 많은 PYTHON에 대한 경험/이해를 얻을 수 있으므로 디버깅 기술을 연습하기에 안전한 연습이어야 합니다!
Link to multiprocess
Reference
이 문제에 관하여(Python을 사용한 자동화 및 다중 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/adrbrownx/automation-and-multi-processing-w-python-4d1k텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)