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 :

conversion d'indentation dans un code python


Sujet :

Python

  1. #1
    Membre confirmé Avatar de KINENVEU
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut conversion d'indentation dans un code python
    bonjour,

    je voudrais savoir si quelqu'un connait un moyen automatique
    pour convertir du code python ecrit avec une indentation a 4 espaces vers une indentation a 2 espaces par exemple.

    merci.

  2. #2
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Je ne connaissais pas de moyen automatique, mais maintenant j'en connais un: il suffit de s'en faire un.
    Voilà un code qui fait ce que tu as demandé: 4 --> 2. À adapter, pour d'autres cas.

    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
    import re
     
    bla = re.compile(' *(.*)')
     
    f = open('assai400.py')
    g = open('assai200.py','w')
    i = 0
    for ln in f:
        x = bla.search(ln).start(1)
        if x%4==0:
            g.write(x/2*' '+ln[x:])
        else:
            print '\nLa ligne',i,'comporte un en-tête de',x,'blancs qui n\'est pas un multiple de 4'
            if len(ln[:-1].replace(' ',''))==0:
                print "Mais c'est une ligne vide."
                print "La ligne est remplacée par une ligne sans en-tête du tout"
                g.write('\n')
            else:
                print "L'en-tête de",x,"blancs est remplacé par un en-tête de",(x/2+x%4),"blancs"
                g.write((x/2+x%4)*' '+ln[x:])
            print [ln]
        i += 1
    print '\nNombre total de lignes trouves:',i
     
    f.close()
    g.close()

  3. #3
    Membre confirmé Avatar de KINENVEU
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 184
    Par défaut
    ca marche impeccable.
    merci pour l'effort.

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

Discussions similaires

  1. Intégrer du HTML dans le code Python
    Par michel42 dans le forum Général Python
    Réponses: 4
    Dernier message: 07/05/2012, 10h47
  2. Réponses: 9
    Dernier message: 24/09/2011, 17h07
  3. absence de conversion de locale vers utf8 dans un code
    Par minibus dans le forum GTK+ avec C & C++
    Réponses: 8
    Dernier message: 12/08/2009, 11h32
  4. [python] Intégration dans un code C
    Par Invité dans le forum C
    Réponses: 2
    Dernier message: 11/08/2007, 15h57

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