IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Problème "\n" !


Sujet :

Python

  1. #1
    Membre confirmé Avatar de stuffy
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 70
    Par défaut Problème "\n" !
    Bonjours j'ai un probleme car vu j'aimerai créer un bloc note qui quand on fait un saut a la ligne marque dans le fichiers \n et je ne c pas commen fair car dans mon code source j'ai carrement rajouter une fonction qui rajoute \n dans mon widget text met il et directement convertit en saut a la ligne alors aider moi svp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    # -*- coding: Latin-1 -*-
     
     
    # **** DEVELOPED BY HUGUES (STUFFY-92)  [  FRENCH ]  **** #
     
     
    # ###################################
    #									          #
    # Version : Betâ 1.0                                                                        #
    # Auteur : H.Pascault 2008                                                           #
    # Licence : GPL                                                                               #
    #									          #
    # ###################################
     
     
    #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
     
    # IMPORTATION DES BIBLIOTEQUES #
     
    from Tkinter import*
    import tkFont
    import tkMessageBox
     
    #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
     
    # DEBUT DU SCRIPT PRINCIPAL #
     
     
     
    def afficher():
    	obFichier = open('Monfichier.txt','a')
    	obFichier.write(str(txt.get(1.0, END)))
    	obFichier.close()
     
    def entree():
    	txt.insert(END, "\n")
     
    def About(): 
    	tkMessageBox.showinfo("A propos", " Version : Alpha 1.0 \n Programmeur : Hugues (stuffy-92) \n Contact : stuffy-92@live.fr")
     
    #------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------#
     
     
    # DEBUT DU SCRIPT VISUEL #
     
     
    # ----- Création de la fenêtre ----- # 
     
    fenetre=Tk()
    fenetre.iconbitmap("Images\Icon.ico")
    fenetre.title('TUTO')
    fenetre.resizable(width=False, height=False)
     
     
    # ----- Création d'une variable contenant une police d'écriture ----- # 
     
    police=tkFont.Font(fenetre)
    police.configure(size=10,family="calibri")
     
    # ----- Création d'une variable contenant une image ----- # 
     
    img1 = PhotoImage(file = "Images\Bouton.gif")
    img3 = PhotoImage(file = "Images\Haut.gif")
    img4 = PhotoImage(file = "Images\Bas.gif")
     
     
    # ----- Mise en place du canvas 1 ----- #
     
    canvas_1= Canvas(fenetre, width = 478, height = 45)
    item = canvas_1.create_image(239, 25, image = img3)
    canvas_1.grid(row=1, columnspan=3)
     
    # ----- Mise en place du texte ----- #
     
    txt=Text(fenetre, wrap=WORD)
    txt.configure(width = 65, relief = FLAT, font = police, insertbackground = "grey")
    txt.grid(row = 2, columnspan = 3, pady = 10)
     
    txt.get(1.0, END)
     
    bouton=Button(fenetre)
    bouton.configure(command=afficher,font=police,bd=0,text="Editer")
    bouton.grid(row=3, column=1, pady=10)
     
    bouton2=Button(fenetre)
    bout

  2. #2
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    J'avoue ne pas très bien comprendre ton besoin. Quand tu utilise widget.get(1.0,END) (qui te récupère la totalité du texte du widget), les retours à la lignes rentrés dans le widgets sont marqués '\n' dans la chaine retournée... ce n'est certainement pas les termes exact à employer mais bon, tout ça pour dire que c'est automatique, tu n'a normalement pas besoin de t'en occuper

  3. #3
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Tu veux dire que tu aimerais qu'il t'insère un '\' et un 'n' en plus du retour à la ligne ? Si c'est ça, il te suffit d'échapper l'antislash : '\\n'

  4. #4
    Membre confirmé Avatar de stuffy
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 70
    Par défaut dsl
    Je suis desoler je n'avez pas vus apparament la fin de mon code et casser
    en tout cas je sait que c'est peut etre difficile de comprendre ce que je veut dire. mon problème est que lorsque je récupère le contenue de mon widget text python gère trop bien les saut a la ligne moit je voudrait que au lieu d'un saut a la ligne il me mette \n car ce debut de programme a pour but d'ecrire dans une variable python qui sera afficher (dans un autre programme) et vu que python dans les code source ne gère pa les saut a la ligne il faut que ce soi \n

  5. #5
    Membre confirmé Avatar de stuffy
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 70
    Par défaut merci
    merci oiffrig ta technique m'a permit de résoudre mon problème

  6. #6
    Membre émérite

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Par défaut
    Petit complément: python gère les chaînes sur plusieurs lignes:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    a = """Bonjour !
    Comment allez-vous ?"""

  7. #7
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    Citation Envoyé par stuffy Voir le message
    Je suis desoler je n'avez pas vus apparament la fin de mon code et casser
    en tout cas je sait que c'est peut etre difficile de comprendre ce que je veut dire. mon problème est que lorsque je récupère le contenue de mon widget text python gère trop bien les saut a la ligne moit je voudrait que au lieu d'un saut a la ligne il me mette \n car ce debut de programme a pour but d'ecrire dans une variable python qui sera afficher (dans un autre programme) et vu que python dans les code source ne gère pa les saut a la ligne il faut que ce soi \n
    Oiffrig a apparement mieux compris que moi, mais quand je lis ce message, je préfère être sûr que tu as bien compris, désolé si je suis relou :
    admettons qeu dans le widget text tu rentre ce texte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Bonjour,
    
    Moi c'est Stuffy
    quand tu recuperera ce text via la commande get, voici la chaîne que tu obtiendra:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "Bonjour,\n\nMoi c'est Stuffy"
    il faut savoir que '\n' EST un retour à la ligne, ce qui veut dire que dans un widget text, quand tu tape Entrée, en coulisse Entrée "à marqué" '\n'...

    EDIT: hmmmm....
    ...
    après relecture, je crois que je suis complètement à côté de la plaque...

  8. #8
    Membre confirmé Avatar de stuffy
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 70
    Par défaut
    non tu n'est pas a coté de la plaque mais moi python ne me mais pas de \n dans les fichier dans lesquelles je récupère l'entrée il met des sauts a la ligne

  9. #9
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    ben oui, mais quand tu liras le fichier, tu auras tes '\n'... en fait, c'est quoi le but de ce fichier (celui dans lequel apparemment tu enregistre ton texte) ?

  10. #10
    Membre confirmé Avatar de stuffy
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 70
    Par défaut
    le but de ce fichier et de définir le texte d'une variable donc il faut des \n pour les saut a la ligne mais toi tu dis que les \n sont présent quand on récupère le texte d'un widget text hors pour moi quand je regarde le fichier contenant le texte il n'y a pas de \n il y a juste les saut a la ligne habituel.

  11. #11
    Membre émérite
    Homme Profil pro
    heu...
    Inscrit en
    Octobre 2007
    Messages
    648
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : heu...

    Informations forums :
    Inscription : Octobre 2007
    Messages : 648
    Par défaut
    texte du widget texte:
    récupération du texte:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    >>> myVar=WidgetText.get(1.0,END)
    >>> myVar
    'bou\n\nbou'
    Une fois qu'on a sauvegardé myVar dans un fichier texte, et qu'on ouvre ce dernier depuis le bloc-note par exemple, voici le contenu:
    Maintenant récupérons le contenu de ce fichier dans une variable, et affichons son contenu:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    >>> fichier=open('./Ex.txt','r')
    >>> txt=fichier.read()
    >>> fichier.close()
    >>> txt
    'bou\n\nbou'
    aucun problème... les '\n' sont un code standard signalant un retour à la ligne, mais l'utilisateur dans un éditeur de texte, ne verra pas '\n' mais un retour à la ligne, par contre l'ordi lui, voit un '\n'...
    moi quand je regarde le fichier contenant le texte il n'y a pas de \n il y a juste les saut a la ligne habituel.
    faut expérimenter aussi, si t'avais essayé de récupérer le contenu de ce fichier dans une liste, et que t'avais printer la liste, t'aurais sûrement déjà pigé le truc, enfin... maintenant tu sais

  12. #12
    Membre confirmé Avatar de stuffy
    Étudiant
    Inscrit en
    Juin 2008
    Messages
    70
    Détails du profil
    Informations personnelles :
    Âge : 31

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2008
    Messages : 70
    Par défaut merci
    merci de ton explication j'y voie plus claire maintenant je vais pour continuer mon programme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 15
    Dernier message: 21/02/2007, 17h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo