[Python]-remplacer premiere ligne d un fichier
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

[Python]-remplacer premiere ligne d un fichier



  1. #1
    mAx6010

    [Python]-remplacer premiere ligne d un fichier


    ------

    Hello,
    Sous python j aimerai ouvrir un fichier texte , remplacer la premiere ligne, et sauver le fichier.
    Je suis sous windows.
    Il n existe rien de simple comme "sed" sous unix ?

    C est un fichier script pour plotter une courbe sous gnuplot.
    J aimerai remplacer donc la premiere ligne qui definit un parametre:
    data='mes_donnes_1.txt'

    rien de bien sorcier, pourtant je tourne en rond...

    Merci par avance

    Maxime

    -----

  2. #2
    pm42

    Re : [Python]-remplacer premiere ligne d un fichier

    Citation Envoyé par mAx6010 Voir le message
    Il n existe rien de simple comme "sed" sous unix ?
    Non parce qu'en Unix, on ne sait pas faire non plus même avec sed.
    Il faut créer un nouveau fichier en écriture puis remplacer l'ancien par le nouveau dans lequel on aura écrit la nouvelle 1ère ligne puis toutes les autres du fichier source.

    En Python, faire la même chose est simple également modulo la gestion des erreurs (fichier en lecture-seule, espace disque plein qui empêche la création du nouveau, impossibilité d'effacer l'ancien...)

  3. #3
    mAx6010

    Re : [Python]-remplacer premiere ligne d un fichier

    Citation Envoyé par pm42 Voir le message
    Non parce qu'en Unix, on ne sait pas faire non plus même avec sed.
    Oui c est vrai que je devais creer un autre fichier
    J ai la memoire qui flanche...

    Bon comme j ai que 5 lignes dans mon fichier, je vais essayer de les stocker dans une liste, et faire la manip avec l index adequat

  4. #4
    mAx6010

    Re : [Python]-remplacer premiere ligne d un fichier

    Citation Envoyé par mAx6010 Voir le message
    Bon comme j ai que 5 lignes dans mon fichier, je vais essayer de les stocker dans une liste, et faire la manip avec l index adequat
    ... et ça marche nickel

  5. A voir en vidéo sur Futura
  6. #5
    polo974

    Re : [Python]-remplacer premiere ligne d un fichier

    Citation Envoyé par pm42 Voir le message
    Non parce qu'en Unix, on ne sait pas faire non plus même avec sed.
    Mais si, on sait faire (ex: sur un fichier gag, remplace la première ligne):
    sed '1 s/.*/ah que coucou/' -i gag


    et puis il y a cygwin qui donne accès aux indispensables sous windows (même un serveur ssh, ça vous change la vie...).
    Jusqu'ici tout va bien...

  7. #6
    pm42

    Re : [Python]-remplacer premiere ligne d un fichier

    Citation Envoyé par polo974 Voir le message
    Mais si, on sait faire (ex: sur un fichier gag, remplace la première ligne):
    C'est une option spécifique à la version Gnu. Elle n'est pas dispo en général et par ex, pas sur AIX ou Solaris (voir les demandes StackOverflow à ce propos).
    C'est sans doute une adaptation de Perl qui a de mémoire été une des 1ères commandes à proposer cette option -i.

    Dans le contexte de la question, cela ne change pas grand chose : -i est implémenté exactement comme décrit avec un 2nd fichier temporaire...

  8. #7
    polo974

    Re : [Python]-remplacer premiere ligne d un fichier

    bon, alors il suffit d'utiliser ed:
    Code:
    echo '1d
    i
    ah que coucou
    .
    wq ' | ed gag
    Jusqu'ici tout va bien...

Discussions similaires

  1. Lire un fichier son (Wav 16bits) sur Python
    Par invite7302eae8 dans le forum Programmation et langages, Algorithmique
    Réponses: 6
    Dernier message: 30/03/2015, 14h55
  2. exécution d'un fichier python rattaché à un fichier kivy
    Par invite8218ab1b dans le forum Programmation et langages, Algorithmique
    Réponses: 7
    Dernier message: 24/11/2014, 14h43
  3. Python correction fichier
    Par inviteb4450379 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 07/08/2012, 00h15
  4. lecture fichier Python
    Par inviteb4450379 dans le forum Programmation et langages, Algorithmique
    Réponses: 1
    Dernier message: 09/09/2011, 11h25
  5. Bloquer sous une ligne python.
    Par inviteec912e3c dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 11/10/2009, 11h28