Bonjour,
j'ai 2 scripts python: test.py et test2.py, ce dernier étant appelé par test.py.
voici test2.py:
voici test.py:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 #!/usr/bin/env python print "toto"
Donc, lorsque j'exécute test.py dans un shell, je m'attends à avoir:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 #!/usr/bin/env python import os cmd = "echo test...\n" cmd += "test2.py &> /dev/null\n" cmd += "if [ $? != 0 ]; then echo error; else echo ok; fi;\n" os.system( cmd )
bash$ test.py
test...
ok
bash$
Or j'obtiens ça suivit de "toto", et le programme tourne toujours. Je dois faire un Ctrl+C pour récupérer le prompt...
Pourquoi ?
Y a-t-il un moyen d'éviter ça ?
Pourquoi le "&>/dev/null" ne fonctionne pas ?
Cela doit etre du à la façon dont Python gère le "os.system"...
Merci de toute aide !
Partager