Bonjour,
Je souhaite enchainer une commande linux simple genre:
cd dossier
ls
j'ai ecrit une ebauche de script mais elle ne marche pas :
voici le message d'erreur :
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 import subprocess cat = subprocess.Popen(['cd', 'dossier'], stdout=subprocess.PIPE, ) grep = subprocess.Popen(['ls'], stdin=cat.stdout, stdout=subprocess.PIPE, ) end_of_pipe = grep.stdout print 'Included files:' for line in end_of_pipe: print '\t', line.strip()
En revanche si je faisTraceback (most recent call last):
File "sub.py", line 4, in <module>
stdout=subprocess.PIPE,
File "/usr/lib/python2.7/subprocess.py", line 672, in __init__
errread, errwrite)
File "/usr/lib/python2.7/subprocess.py", line 1213, in _execute_child
raise child_exception
OSError: [Errno 2] No such file or directory
Le dossier "test" est crée, donc je pense qu'il ya un problème avec 'cd' ...
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 import subprocess cat = subprocess.Popen(['mkdir', 'test'], stdout=subprocess.PIPE, ) grep = subprocess.Popen(['ls'], stdin=cat.stdout, stdout=subprocess.PIPE, ) end_of_pipe = grep.stdout print 'Included files:' for line in end_of_pipe: print '\t', line.strip()
Je galère depuis quelques heures, si quelqu'un peut m'aider, ça serait sympa. merci![]()
Partager