Bonjour,
ceci est ma première question dans ce forum, je vais essayer d'être aussi explicite que possible.
J'utile py.test pour tester des fonctionnalités d'une board sous linux. Je suis sous python 2.7.6
Pour certains tests je dois appeler une commande linux. Je construis ma ligne dans commande dans python, puis je l'exécute avec un run_cmd qui ouvre un subprocess.
Cette méthode fonctionne dans la plupart des cas.
Par contre, le cas suivant ne fonctionne pas:
A l'exécution, j'obtiens:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 class MonTest(): def test_x_y(self): cmd_line = 'linux_shell_command -o ' print "\ncommand line: " + cmd_line cmd_line += '"' print "\ncommand line: " + cmd_line #Ajout d'autres options pour compléter cmd_line output, status = run_cmd(cmd_line)
En clair, l'escape character de mes options est interprété littéralement par ma commande en shell. Et ce, quel que soit le formatage de cmd_line.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 linux_shell_command -o \"video... Error parsing option -o
J'ai essayé diverses méthodes pour supprimer cet \, sans succès. cmd_line est de type str.
Voyez-vous une cause possible de cette erreur?
Merci d'avance
Partager