2017-07-16 11 views
0

Also habe ich versucht, einen Launcher für ein Text-Spiele, die ich mache, und ich brauche den Launcher, um einen Teil des Spiels basierend auf was Erweiterungen ausgewählt habe ich laufen. Nachdem ich den Launcher erstellt und getestet habe, merkte ich jedoch, dass alles so funktioniert, bis der Launcher ein anderes Python-Programm ausführen soll. Anstatt das Programm auszuführen, endet es einfach und ich bin mir nicht sicher warum. Hier ist mein Code:subprocess.Popen läuft nicht mein Python-Programm

import easygui as e 
import os 
import subprocess 
def Launch(): 
    expansions = [] 
    file = open("dlc.txt") 
    reading = True 
    while reading == True: 
     temp = file.readline().strip() 
     if temp == "": 
      reading = False 
     elif temp == "The Forgotten Lands": 
      expansions.append("The Forgotten Lands (Main Game)") 
     else: 
      expansions.append(temp) 
    game = e.choicebox("Welcome to The Forgotten Lands launcher. Please pick an expansion.","Launcher",choices=expansions) 
    if game is None: 
     os._exit(0) 
    else: 
     if game == "The Forgotten Lands (Main Game)": 
      game = "The Forgotten Lands" 
     dir_path = os.path.dirname(os.path.realpath(__file__)) 
     filepath = (dir_path + "/" + game + "/" + game + ".py") 
     filepath = filepath.replace("/", "\/") 
     filepath = filepath.replace("/", "") 
     subprocess.Popen(filepath, shell=True) 

Launch() 

Antwort

0

Es sollte sein:

subprocess.Popen("python " + filepath, shell=True) 

Wenn das nicht funktioniert, würden Sie in der Lage sein, bitte die Ausgabe des Codes zu setzen?

+0

Das hat funktioniert, danke! – PHDBanana