2017-07-16 5 views
0

J'ai donc essayé de créer un lanceur pour un jeu de texte que je suis en train de créer et j'ai besoin du lanceur pour exécuter une partie du jeu en fonction des extensions que j'ai choisies. Cependant, après avoir créé le lanceur et l'avoir testé, j'ai réalisé que tout fonctionnait bien jusqu'à la partie où le lanceur est censé exécuter un autre programme python. Au lieu d'exécuter le programme, il se termine juste et je ne sais pas pourquoi. Voici mon code:subprocess.Popen ne lance pas mon programme python

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() 

Répondre

0

Il devrait être:

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

Si cela ne fonctionne pas, seriez-vous en mesure de mettre la sortie du code s'il vous plaît?

+0

Cela a fonctionné, merci! – PHDBanana