2012-01-21 7 views
2

Je fais un petit programme pour m'aider à apprendre Python (que je suis très nouveau à). J'utilise Python 3.2.Python readline() ne fonctionne pas?

Dans le shell Python, quand je rentre

f = open('filename.txt', 'r') 
f.readlines() 

il imprime tout dans le filename.txt. Toutefois, lorsque je le tape dans une nouvelle fenêtre et l'enregistre avec l'extension .py, il ne montre aucune sortie lorsque je l'exécute. Cela ne me donne pas non plus d'erreurs.

Le code ressemble un peu à ceci:

f = open('filename.txt', 'r') 
f.readlines() 

while True: 
    f = open('filename.txt', 'a') 
    inp = input('Enter text: ') 
    rest of code... 

Comment puis-je imprimer tout dans le fichier avant de passer par une de la déclaration while?

+1

Veuillez lire les instructions de mise en forme et formater votre code afin qu'il ressemble à du code. –

+0

"il ne montre aucune sortie"? Utilisez-vous la fonction 'print()'? Ou espérez-vous qu'il affichera quelque chose? L'invite '>>>' (Python interactif) est spéciale car elle imprime des choses par magie. Espérez-vous cela dans un script? Est-ce que c'est votre question? –

+1

Il n'est pas nécessaire d'être si dur sur l'OP. Le comportement auquel ils s'attendent est ce que Matlab et Octave font réellement, donc ce n'est pas si étrange de s'y attendre. –

Répondre

5

mais quand je tape dans une nouvelle fenêtre et enregistrer avec l'extension .py

Ajouter un appel print. Le toplevel interactif imprime la valeur de la dernière expression entrée pour plus de commodité, mais dans un script, cela devient très ennuyeux.

2

Essayez ceci dans votre code:

print(f.readlines()) 

Les evalue shell et imprime le résultat de chaque expression que vous tapez, mais si vous avez l'intention d'exécuter votre programme à partir d'un fichier, vous devez explicitement print les valeurs vous voulez voir dans la console.

2

L'interpréteur Python fonctionne en deux modes différents:

  1. Le mode interactif, ce qui montre l'invite de commande >>> et est accessible en tapant simplement python ou python.exe dans l'invite de commande. Ce mode a une fonction d'écho qui affiche pour vous la valeur de retour de n'importe quelle fonction ou expression que vous tapez.

  2. Le mode de script. Lorsque vous tapez dans la ligne de commande python <yourscript.py>. Dans ce mode, Python cache votre script, ainsi que les valeurs de retour pour les instructions que vous tapez.

Si vous voulez un script Python pour afficher quelque chose dans la console, utilisez la fonction print().

print(f.readlines()) 

Voir python.org pour plus sur l'interpréteur Python.