Encore un souci avec python

Bonsoir!
Pour quoi ce script ne marche pas? (pourquoi lors de la lecture d’un fichier, il n’y a que du vide de lu, alors que le fichier est bel et bien écrit)

[code]#!/usr/bin/env python

-- coding: utf-8 --

fichier = raw_input("Veuillez entrer le nom du fichier à créer ou lire svp : ")
print(“Création de”, fichier)
rep = str(input(“1. Ecrire dans le fichier\n2. Lire le fichier\n”))

while rep != “1” and rep != “2”:
rep = str(input(“1. Ecrire dans le fichier\n2. Lire le fichier\n”))
if rep == “2”:
print("contenu de " + fichier + “: \n”)
fle = open(fichier, “r”)
fle.read()
fle.close()

if rep == “1”:
fle = open(fichier, “a”)

while 1:
    entree = raw_input("Ligne vide pour finir\n")
    if entree == "":
        fle.close()
        break
    fle.write(entree + "\n")

print("contenu de " + fichier + ": \n")
fle = open(fichier, "r")
fle.read()
fle.close()

[/code]

Hello,

if rep == "2": print("contenu de " + fichier + ": \n") fle = open(fichier, "r") fle.read() fle.close()
Remplace fle.read() par print(fle.read()) :slightly_smiling:
Faire appel à fle.read() fonctionne en mode interactif (ça s’imprime sur la sortie standard), mais dans le cas d’un script il faut faire appel à print.

Sinon, on dirait qu’il y a une “erreur” d’indentation entre le contenu de tes 2 if, peut-être une erreur de copié-collé (indentation de 3 espaces pour l’un, et 4 pour l’autre) ?

Merci infiniment! Je ne pouvais pas le deviner!

Oui, pour l’indentation ce doit être au copier/coller que l’erreur est apparue car je ne l’ai pas chez moi. Mais bon comme j’ao pas mal bidouillé le script sur ma façon de traiter les fichiers, afin de trouver ce qui clochait, je ne suis pas surpris.

Merci encore!