-
Script python et printf
Bonjour,
Je me retrouve avec un petit soucis. Cote serveur j'ai un script python qui va chercher des scripts qui contiennent méthodes un peu partout dans un soft libre et ces méthodes affichent des print ... du coup au premier print, je me retrouve avec une erreur log :
[Sun Jun 23 17:43:54 2013] [error] [client 192.168.178.22] malformed header from script. Bad header= ... STEP File Read : upload_file.cgi, referer: http://192.168.178.30/
Vous l'aurez compris le premier print affiche " ... STEP File Read"
Bref, j'ai essayer de sortir les appels aux scripts python et de les appeler avec execfile ou call mais l'erreur persiste ... vous auriez une idée ?
Merci
JP
-
Citation:
Envoyé par
JPP78750
Vous l'aurez compris ...
Ben non, justement. Pour que le script print quelque chose il faudrait qu'il s'exécute, or la syntaxe du log semble dire que nous ne sommes pas dans un environnement Python. En bref, ça ne ressemble pas à un message d'erreur de Python.
Qu'est-ce que ce programme attend comme type de header ? Les scripts python n'en ont pas.
-
Le header en question n'est pas en rapport avec le fichier python mais avec le print. Ainsi le header classique attendu avant tout print est : print "Content-type: text/html\n\n"
Du coup quand tu veux générer un fichier html tu vas avoir un truc du style :
print "Content-type: text/html\n\n <html><body>"
print """\
<p>HELLO</p>
</body></html>
"""
Or moi mon problème est que je fais appel à des scripts qui ont font des print classique !!
J'ai trouvé la solution. Desactiver le stout jusqu'à la fin du code où je génère la page html.
import sys
sys.stdout = open('/dev/null')