J'ai écrit du code qui utilise le module sous-processus
Python pour ouvrir une fenêtre PowerShell, puis exécutez une commande dans cette même fenêtre. La fenêtre PS s'ouvre, puis se ferme presque immédiatement. Le code ci-dessous ouvrira une fenêtre PS et la laissera ouverte si j'ai supprimé le deuxième élément de cmd
.
import subprocess cmd = ['powershell', 'ls'] prompt = subprocess.Popen(cmd, stdin=subprocess.PIPE)
3 Réponses :
Toute raison de ne pas utiliser subprocess.call à la place ? Je pense que cela ferait exactement ce que vous voulez.
C'est parce que vous avez oublié de communiquer
avec le processus
Ajoutez simplement une ligne
output, error = prompt.communicate() # this is to start the process print(output) # add stdout=subprocess.PIPE print(error) # add stderr=subprocess.PIPE
PS: Je ne peux pas vous aider avec PowerShell car je ne connais pas PowerShell