Salut,

Envoyé par
Lologramme
j'ai essayé ton code et ça crée un fichier mais celui ci est vide !
Pourquoi le fichier est vide? Essentiellement parce que dans:
$req = shell_exec("sudo echo $param >para.txt");
lorsque le shell va exécuter çà, $param n'est pas une variable définie.
Essayez de lancer le programme suivant à la console:
1 2
| import sys
print sys.argv[1] |
En lui passant une chose de la forme "$zzz" en argument. Si zzz n'est pas défini, vous obtiendrez:
1 2 3 4 5
| $ python foo.py $zzz
Traceback (most recent call last):
File "foo.py", line 3, in <module>
print sys.argv[1]
IndexError: list index out of range |
Donc votre programme Python appelé par shell_exec plante parce que vous ne lui passez pas le paramètre attendu.
Pour enfoncer le clou, exécutez:
$req = shell_exec("sudo /usr/bin/python /home/lologramme/Documents/www/test.py param");
çà devrait fonctionner côté création du fichier...
La question est de savoir comment passer une variable à shell_exec mais il faut la poser dans le bon forum car çà se passe côté PHP et non Python...
- W
Partager