subprocess Hilfe

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Dean
User
Beiträge: 1
Registriert: Sonntag 13. Dezember 2020, 22:43

Hallo, leider habe ich ein Problem, ich möchte eine To-do-list programmieren.
Ich möchte das wenn ich in VSCode mein Programm starte das sich das CMD (Python Prompt) öffnet und mein Programm sich dort startet
nur mein Problem ist es wenn ich start drücke öffnet sich das CMD nur es öffnet sich nicht einmal wie eigentlich geplant sondern, öffnet unendlich Tabs davon (spam)


Meine Frage ist was ich Falsch und wie ich das beheben kann

Mein Code:

Code: Alles auswählen

import subprocess

subprocess.Popen(["start", "python.exe", "todo.py"],shell=True)


print("Test")
(Die meisten haben mir gesagt ich soll den start parameter weglassen leider passiert dann aber rein garnichts)
Benutzeravatar
__blackjack__
User
Beiträge: 14053
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Dean: Das ist ein Problem das Du in Deiner IDE lösen musst, wie die Dein Programm startet, nicht in dem Programm selbst.
“Vir, intelligence has nothing to do with politics!” — Londo Mollari
Benutzeravatar
sparrow
User
Beiträge: 4538
Registriert: Freitag 17. April 2009, 10:28

@Dean: Warum?!? Also warum möchtest du überhaupt ein Python-Programm starten, dass mit subprocess auf so umständliche Art sich selbs wieder startet? Natürlich öffnet sich das immer wieder selbst
Benutzeravatar
DeaD_EyE
User
Beiträge: 1240
Registriert: Sonntag 19. September 2010, 13:45
Wohnort: Hagen
Kontaktdaten:

todo.py

Code: Alles auswählen

def hello():
    print("Hello World")
    

if __name__ == "__main__":
    hello()
anderes_programm.py

Code: Alles auswählen

import todo


if __name__ == "__main__":
    todo.hello()
Ich denke, das ist selbsterklärend.
Mit subprocess andere Python-Programme zu starten, ist nicht besonders effizient.
Jedenfalls wird "Hello World" nur einmal ausgegeben, da durch den Import __name__ == "todo" ist.
sourceserver.info - sourceserver.info/wiki/ - ausgestorbener Support für HL2-Server
Antworten