[python] Util. d'1 variable dans os.system

Stéphane -  
 Stéphane -
Bonjour,

Je met en place un script en python qui devrait me permettre de localiser un fichier, puis de lui passer un 'shred' et enfin de l'effacer avec un "rm" mais voila lors de l'utilisation de slocate grace auquel je peux trouver le chemin exact du fichier a effacer, je n'arrive pas a utiliser la variable dans laquelle j'ai placé le chemin du fichier dans un nouveau os.system.

Je vais essayer d'être clair :
j'utilise un recup =os.system("slocate fichier")
pour récuperer le chemin mais après je n'arrive pas a placer la variable recup dans le prochain os.system pour passer le shred sur le fichier.

os.system ("shred -n3",recup) ne fonctionne pas ainsi que os.system("shred -3 recup")

Si vous pouviez me donner un coup de main ce serait super.

Vous en remerciant par avance

Stéphane

6 réponses

Stéphane
 
C'est bon j'ai trouvé la solution.

Il suffit d'ajouter + entre la commande et la variable.

amités
0
sebsauvage Messages postés 33415 Statut Modérateur 15 663
 
os.system ne revoie par ce qui est sorti par le programme, mais seulement le code de retour du programme (int).
0
Stéphane
 
Exact, et mince.

Si tu a une idée pour resoudre ceci ???

Merci

amitiés
0
sebsauvage Messages postés 33415 Statut Modérateur 15 663
 
subprocess permet de récupérer la sortie standard des programmes (stdout et stderr).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kilian Messages postés 8854 Statut Modérateur 1 526
 
Du côté subprocess, voici un exemple avec la fonction os.popen.
Imaginons que je veuille récupérer le résultat de "ls /":
>>> import os
>>> a=os.popen("/bin/ls /", "r")
>>> b=a.read()
>>> a.close()
>>> print b
bin
boot
cdrom
dev
etc
home
etc....

Tu vois? os.popen crée un processus avec la commande correspondante
au premier paramètre puis il renvoie un objet fichier dans lequel tu peux lire la sortie du programme en l'ouvrant en lecture ("r").
Tu lis ce fichier (read()) et tu as ce que te renvoie la commande....
0
Stéphane
 
Ok merci,

je vais regarder en ce sens et modifier le script de depart.

Merci encore

Stéphane
0