2010-09-25 5 views
1

J'utilise un script que quelqu'un d'autre a écrit en python. Il est exécuté à partir de la ligne de commande avec 3 arguments.Sortie d'un script python en fichier texte

exemple: "python script.py 1111 2222 3333"

Il le fait est chose et fonctionne parfaitement. Les résultats ne sont PAS sauvegardés, et j'aimerais vraiment rediriger la sortie vers un fichier texte. Puis-je simplement utiliser des commandes DOS similaires pour accomplir cela? c'est-à-dire "... 333> output.txt"

Je ne veux pas vraiment poster le script ici si possible puisque ce n'est pas vraiment mon travail.

Répondre

0

oui, si vous êtes dans un shell Unixy typique, cela fonctionnera exactement comme vous l'espérez.

Si vous souhaitez modifier le script pour écrire dans un fichier au lieu de la sortie standard, vous pouvez lire sur la façon d'utiliser file()

0

Cela semble fonctionner très bien pour moi dans l'interpréteur de commandes DOS.

5
f = open('/path/to/file','w') 
f.write(string, '\n') # ... etc. 

devrait être assez simple d'ajouter quelque chose comme ça au script, juste au cas où vous préféreriez pas à utiliser le shell pour la sortie à chaque fois de la conduite.

+0

J'ai déjà essayé cela et Je continue d'obtenir des erreurs d'indentation .. Je peux écrire du code en java, html, css, et un peu de php mais j'ai 0 expérience python. Et quand je définis f, on dit généralement "syntaxe invalide" avec un triangle pointant vers f. Est-ce qu'il doit être défini en haut. J'utilise un shell de commande Windows. C'est vraiment la méthode que je voudrais employer. – Bob

8

Redirection fonctionne très bien à la fois dans des coquilles unix-y et dans Windows' cmd.exe (que je soupçonne est ce que vous appelez « la fenêtre DOS » ... à moins que vous gérez pour exécuter Python sous Windows '95 ou quelque chose!-).

$ python script.py 1111 2222 3333 >output.txt 

où le $ est pas quelque chose que vous tapez, mais énonce plutôt « quelle que soit la fenêtre invite shell/commande vous donne ». Pour être tout à fait sans ambiguïté, ce que vous ne tapez à ladite invite pour obtenir la redirection est juste:

python script.py 1111 2222 3333 >output.txt 

comme ce que vous tapez maintenant (sans redirection) est

python script.py 1111 2222 3333 
Questions connexes