> 백엔드 개발 > 파이썬 튜토리얼 > Python을 사용한 자동화.

Python을 사용한 자동화.

Linda Hamilton
풀어 주다: 2024-12-02 15:15:16
원래의
381명이 탐색했습니다.

Automações com Python.

이 코드는 Python 프로그램을 별도의 터미널에서 비동기적으로 실행하도록 설계되었습니다. 코드의 각 부분이 어떤 역할을 하는지 차근차근 설명하겠습니다.

1. 하위 프로세스 모듈 가져오기

import subprocess
로그인 후 복사
로그인 후 복사

subprocess 모듈을 사용하면 Python 프로그램에서 운영 체제 프로세스를 생성하고 관리할 수 있습니다. 여기서는 새 터미널 창에서 Python 프로그램을 시작하는 데 사용됩니다.

2. execute_program 함수

def executar_programa(caminho_programa):
    try:
        # Executa o programa em uma nova janela de terminal
        subprocess.Popen(
            ["python", caminho_programa],
            creationflags=subprocess.CREATE_NEW_CONSOLE
        )
        print(f"Programa {caminho_programa} iniciado com sucesso.")
    except Exception as e:
        print(f"Erro ao iniciar o programa {caminho_programa}: {e}")
로그인 후 복사

이 함수는 새 터미널 창에서 Python 프로그램을 실행하는 역할을 합니다.

  • Program_path 인수: 실행하려는 Python 스크립트의 절대 경로.

  • subprocess.Popen: 운영 체제에서 새 프로세스를 시작합니다.

    • ["python", program_path] 목록은 터미널에서 실행될 명령입니다. 첫 번째 "python" 항목은 Python 인터프리터이고 두 번째 program_path 항목은 실행할 Python 스크립트입니다.
    • creationflags=subprocess.CREATE_NEW_CONSOLE: 이 플래그는 현재 터미널 창에서 프로세스를 실행하는 대신 프로세스에 대한 새 터미널 창을 생성합니다.
  • try 및 제외: try 블록은 프로그램 실행을 시도합니다. 오류가 발생하면(잘못된 스크립트 경로 등), 제외 블록이 예외를 포착하고 오류 메시지를 인쇄합니다.

3. 주요 기능

def main():
    # Caminhos para os programas que você deseja executar
    programa1 = r"C:\Users\hbvbr\Documents\DEV\AlgotradingCopia\eaEquiti\eaEquiti108.py"
    programa2 = r"C:\Users\hbvbr\Documents\DEV\AlgotradingCopia\eaEquiti690\eaEquiti690.py"
    programa3 = r"C:\Users\hbvbr\Documents\DEV\AlgotradingCopia\eaFtmo\eaFtmo.py"
    programa4 = r"C:\Users\hbvbr\Documents\DEV\AlgotradingCopia\eaEquiti224\eaEquiti224.py"

    # Executa cada programa em um terminal separado
    executar_programa(programa1)
    executar_programa(programa2)
    executar_programa(programa3)
    executar_programa(programa4)
로그인 후 복사

주요 기능:

  • 프로그램 경로 정의: 여기서는 실행하려는 Python 스크립트의 절대 경로를 사용하여 4개의 변수(program1, program2, program3, program4)가 정의됩니다. 백슬래시 문제를 방지하기 위해 경로는 원시 문자열(r이 앞에 붙음)로 작성됩니다.

  • execute_program 함수 호출: 각 프로그램에 대해execute_program 함수가 호출됩니다. 각 Python 스크립트는 새 터미널 창에서 실행됩니다.

4. __name__ == "__main__"인 경우 조건부 실행:

import subprocess
로그인 후 복사
로그인 후 복사
  • if __name__ == "__main__":: 이 조건은 Python 파일이 직접 실행되고 있는지(다른 스크립트에서 모듈로 가져오지 않았는지) 확인합니다. 직접 실행하면 main() 함수가 호출되어 프로그램이 시작됩니다.

흐름 요약:

  1. 스크립트는 main 함수를 실행하면서 시작됩니다.
  2. 주 함수는 4개의 스크립트 각각에 대해execute_programa를 호출하여 프로그램 경로를 전달합니다.
  3. execute_program 함수는 subprocess.Popen을 사용하여 새 터미널 창에서 각 Python 스크립트를 실행합니다.
  4. 프로그램 실행 중 오류가 발생하면 오류가 캡처되어 메시지가 표시됩니다.

운영 체제에서 작동하는 방식:

  • CREATE_NEW_CONSOLE이 포함된 subprocess.Popen은 새 운영 체제 터미널 창(Windows에서는 일반적으로 cmd 또는 PowerShell)을 열고 각 창에서 지정된 Python 프로그램을 실행합니다.

코드의 기본 기능은 이렇습니다! 더 자세한 내용이나 조정이 필요하시면 언제든지 문의해주세요.

위 내용은 Python을 사용한 자동화.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿