Heim >Backend-Entwicklung >Python-Tutorial >Automatisierungen mit Python.

Automatisierungen mit Python.

Linda Hamilton
Linda HamiltonOriginal
2024-12-02 15:15:16321Durchsuche

Automações com Python.

Dieser Code wurde entwickelt, um Python-Programme asynchron auf separaten Terminals auszuführen. Ich werde Schritt für Schritt erklären, was jeder Teil des Codes bewirkt.

1. Unterprozessmodul-Import

import subprocess

Mit dem Unterprozessmodul können Sie Betriebssystemprozesse aus einem Python-Programm erstellen und verwalten. Es wird hier verwendet, um Python-Programme in neuen Terminalfenstern zu starten.

2. execute_program-Funktion

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}")

Diese Funktion ist für die Ausführung eines Python-Programms in einem neuen Terminalfenster verantwortlich:

  • Program_path-Argument: Der absolute Pfad des Python-Skripts, das Sie ausführen möchten.

  • subprocess.Popen: Startet einen neuen Prozess im Betriebssystem.

    • Die Liste ["Python", Programmpfad] ist der Befehl, der im Terminal ausgeführt wird. Das erste „python“-Element ist der Python-Interpreter und das zweite program_path-Element ist das auszuführende Python-Skript.
    • creationflags=subprocess.CREATE_NEW_CONSOLE: Dieses Flag erstellt ein neues Terminalfenster für den Prozess, anstatt ihn im aktuellen Terminalfenster auszuführen.
  • Versuchen und ausnehmen: Der Try-Block versucht, das Programm auszuführen. Wenn ein Fehler auftritt (z. B. ein falscher Skriptpfad), fängt der Ausnahmeblock die Ausnahme ab und gibt eine Fehlermeldung aus.

3. Hauptfunktion

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)

In der Hauptfunktion:

  • Pfade für Programme definieren: Hier werden vier Variablen (Programm1, Programm2, Programm3, Programm4) mit den absoluten Pfaden der Python-Skripte definiert, die Sie ausführen möchten. Pfade werden als Rohzeichenfolgen (mit dem Präfix r) geschrieben, um Backslash-Probleme zu vermeiden.

  • Aufruf der Funktion „execute_program“: Für jedes Programm wird die Funktion „execute_program“ aufgerufen. Jedes Python-Skript wird in einem neuen Terminalfenster ausgeführt.

4. Bedingte Ausführung, wenn __name__ == "__main__":

import subprocess
  • if __name__ == "__main__":: Diese Bedingung prüft, ob die Python-Datei direkt ausgeführt wird (und nicht als Modul in ein anderes Skript importiert wird). Bei direkter Ausführung wird die Funktion main() aufgerufen und Programme starten.

Ablaufzusammenfassung:

  1. Das Skript beginnt mit der Ausführung der Hauptfunktion.
  2. Die Hauptfunktion ruft „execute_programa“ für jedes der vier Skripte auf und übergibt die Programmpfade.
  3. Die Funktion „execute_program“ führt jedes Python-Skript in einem neuen Terminalfenster unter Verwendung von subprocess.Popen aus.
  4. Wenn beim Versuch, ein Programm auszuführen, ein Fehler auftritt, wird der Fehler erfasst und eine Meldung angezeigt.

So funktioniert es im Betriebssystem:

  • Der Unterprozess.Popen mit CREATE_NEW_CONSOLE öffnet ein neues Betriebssystem-Terminalfenster (unter Windows normalerweise cmd oder PowerShell) und führt in jedem dieser Fenster das angegebene Python-Programm aus.

Dies ist die grundlegende Funktionsweise des Codes! Wenn Sie weitere Details oder Anpassungen benötigen, fragen Sie gerne nach.

Das obige ist der detaillierte Inhalt vonAutomatisierungen mit Python.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn