Automasi dengan Python.

Linda Hamilton
Linda Hamiltonasal
2024-12-02 15:15:16368semak imbas

Automações com Python.

Kod ini direka bentuk untuk menjalankan program Python pada terminal berasingan secara tidak segerak. Saya akan menerangkan langkah demi langkah apa yang dilakukan oleh setiap bahagian kod.

1. Modul Subproses Import

import subprocess

Modul subproses membolehkan anda mencipta dan mengurus proses sistem pengendalian daripada program Python. Ia digunakan di sini untuk melancarkan program Python dalam tetingkap terminal baharu.

2. melaksanakan fungsi_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}")

Fungsi ini bertanggungjawab untuk menjalankan program Python dalam tetingkap terminal baharu:

  • Program_path argument: Laluan mutlak skrip Python yang anda mahu jalankan.

  • subproses.Popen: Memulakan proses baharu dalam sistem pengendalian.

    • Senarai ["python", program_path] ialah arahan yang akan dilaksanakan dalam terminal. Item "python" pertama ialah penterjemah Python dan item program_path kedua ialah skrip Python yang akan dilaksanakan.
    • creationflags=subprocess.CREATE_NEW_CONSOLE: Bendera ini mencipta tetingkap terminal baharu untuk proses dan bukannya menjalankannya dalam tetingkap terminal semasa.
  • cuba dan kecuali: Blok cuba cuba untuk melaksanakan program. Jika ralat berlaku (seperti laluan skrip yang salah), blok except menangkap pengecualian dan mencetak mesej ralat.

3. fungsi utama

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)

Dalam fungsi utama:

  • Menentukan laluan untuk program: Di sini, empat pembolehubah ditakrifkan (program1, program2, program3, program4) dengan laluan mutlak skrip Python yang anda mahu jalankan. Laluan ditulis sebagai rentetan mentah (diawali dengan r) untuk mengelakkan isu garis serong ke belakang.

  • Panggil ke fungsi execute_program: Untuk setiap atur cara, fungsi execute_program dipanggil. Setiap skrip Python dijalankan dalam tetingkap terminal baharu.

4. Pelaksanaan Bersyarat jika __name__ == "__main__":

import subprocess
  • jika __name__ == "__main__":: Syarat ini menyemak sama ada fail Python sedang dilaksanakan secara langsung (dan tidak diimport sebagai modul dalam skrip lain). Jika dilaksanakan secara terus, fungsi main() akan dipanggil dan atur cara akan bermula.

Ringkasan Aliran:

  1. Skrip bermula dengan melaksanakan fungsi utama.
  2. Fungsi utama memanggil execute_programa untuk setiap empat skrip, melepasi laluan program.
  3. Fungsi execute_program menjalankan setiap skrip Python dalam tetingkap terminal baharu, menggunakan subproses.Popen.
  4. Jika terdapat sebarang ralat semasa cuba menjalankan sebarang program, ralat itu akan ditangkap dan mesej akan dipaparkan.

Bagaimana ia berfungsi dalam sistem pengendalian:

  • Subproses.Popen dengan CREATE_NEW_CONSOLE akan membuka tetingkap terminal sistem pengendalian baharu (pada Windows, biasanya cmd atau PowerShell) dan menjalankan program Python yang ditentukan dalam setiap tetingkap ini.

Ini ialah fungsi asas kod! Jika anda memerlukan butiran lanjut atau pelarasan, jangan ragu untuk bertanya.

Atas ialah kandungan terperinci Automasi dengan Python.. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn