Bonjour,

J'essaie d'appeler une commande externe depuis python. Malheureusement, au lieu de me retourner une chaine de caractère on me retourne des bythe

voici ma foncion qui est cencé traitere les commande système

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
[
 
# code de battant
 
import subprocess
 
def runcommand (command) :
	"""
        
        code extrait de :
        
        https://docs.python.org/3.5/library/subprocess.html
http://stackoverflow.com/questions/2804543/read-subprocess-stdout-line-by-line  """
	output = ""
	proc = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
	for line in iter(proc.stdout.read,''):
		output += line
 
	return output
Dans mon programme, je cherche à n'exécter une deuxième commande que si la première commande retourne un résultat

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
					output1 = runcommand(commandde 1) # cette commande contient des pipe |
				if output1 != "" :# la commande a retoruné quelque chose
runcommand("grep "{0}"".format(output1
Resutat actuel : les foncions qui appelle les commandes ne retournent que des byte.

Question : comment faire pour récupérer des scring ?

Avez-vous déjà utiliser python pour appeler des commande système et traiter des réultats. Si voui, comment avez-vous fait ?

Merci pour votre aide

Salutations