2009-07-16 5 views
1

Je dois exécuter un script en arrière-plan via un service.L'exécution du script à l'aide de Popen échoue

Le service lance le script en utilisant Popen. Pourquoi le script suivant ne fonctionne-t-il pas lorsque j'insère le fichier écrit dans la boucle for? Pourquoi le script suivant ne fonctionne-t-il pas?

#!/usr/bin/python 

import os 
import time 

def run(): 
    fd = open('/home/dilleyjrr/testOutput.txt', 'w') 

    fd.write('Start:\n') 
    fd.flush() 

    for x in (1,2,3,4,5): 
     fd.write(x + '\n') 
     fd.flush() 
     time.sleep(1) 

    fd.write('Done!!!!\n') 
    fd.flush() 

    fd.close() 

if __name__ == '__main__': 
    run() 

Répondre

1

Voici votre bug:

for x in (1,2,3,4,5): 
    fd.write(x + '\n') 

Vous ne pouvez pas résumer un int à une chaîne. Utilisez à la place (par exemple)

for x in (1,2,3,4,5): 
    fd.write('%s\n' % x) 
+0

J'ai les permissions sur le fichier en tant que 777. Je viens de passer à/tmp, votre droite qui serait mieux pour ce test. Les résultats sont les mêmes si je commente le fichier de boucle écrit la sortie est ... Début: Terminé !!!! Avec eux comprend la sortie est ... Début: – Ron

+0

Tx Ron pour vérifier le problème des autorisations - m'a incité à faire un examen complet du code et repérer votre bug, voir ma réponse juste-édité. –

+0

Merci --- Je suis trop nouveau pour python mais je n'oublie pas que vous ne pouvez pas faire ça comme vous le pouvez en perl. Maintenant que cela est résolu, je peux me concentrer sur mes problèmes avec le vrai script. (Pensez qu'ils sont liés à l'environnement.) Je vais utiliser celui-ci pour cracher l'environnement. – Ron

0

Quelle erreur obtenez-vous? Il est difficile de voir le problème sans l'erreur. Y at-il de toute façon que le fichier soit ouvert ailleurs?

+0

Je ne vois aucune erreur. Le script est exécuté en arrière-plan du service. Le fichier n'est pas ouvert avec une autre application. Je suis novice dans l'écriture de services/mod_python/apache s'il y a des erreurs où, pouvez-vous indiquer les fichiers journaux? Merci. – Ron

Questions connexes