Python
djamel
-
sebsauvage Messages postés 33284 Date d'inscription Statut Modérateur Dernière intervention -
sebsauvage Messages postés 33284 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour;
Comment lancer automatiquement l'interpreteur Python pour exécuter des fichiers qui contiennent des commandes et récupérer le resultat dans un fichier output.
A+;
djamel;
Comment lancer automatiquement l'interpreteur Python pour exécuter des fichiers qui contiennent des commandes et récupérer le resultat dans un fichier output.
A+;
djamel;
4 réponses
-
a la prmeire de ton fichier qui comprend tes commandes tu mets ceci :
#!/usr/bin/python
ensuite ds ton interpreter de cdes, tu donnes a ton fichier le droit d'executioon et tu le lances comme ceci :
supposons q le fichier python est fic.py
>chmod +x fic.py
>fic.py > fichier_resulat
##RM:tout ceci suppose q tu sois sous linux, sous win j n sais pas,
tafiscobar -
Sous Windows ça se fait très bien aussi:
python fic.py > fichier_resultat -
Il y'a une chose que je ne comprend pas ?
ds le cas des logs, le fichier stdout.txt est vide :
# script run
import sys
sys.stdout = file("stdout.txt", "wb")
sys.stderr = file("stderr.txt", "wb")
from ftplib import FTP (1)
ftp = FTP('fvc175') (2)
ftp.login('stlftp', 'stlftp') (3)
Normalement, je dois avoire ds le fichier de sortie :
'230 Bienvenue stlftp sur le STL....'
Si je fais la même chose sous l'interpreteur => ca marche et je remplace les inst 1, 2 et 3 par un simple print 'coucou' => le fichier contient bien coucou
Je ne comprend pas ? -
Pour être plus clair, c'est la même chose que:
a = 5
a
Si tu tape ces 2 lignes dans la console, elle va t'afficher 5, car c'est la valeur de retour de a.
Par contre, si tu exécute ceci en tant que fichier .py, rien ne s'affichera. Il faut explicitement afficher a (print a).