#!/usr/bin/env python # coding: Latin-1 -*- # Structure de conservartion de l'arborescence arbo={} # Fonction d'analyse def analyse( arbo, info): # Décomposition de l'info elem=info.split("\t") # On récupère le chiffre fils=elem[0] # Compter le nb de tabulations tab=0 vide=True for c in elem[3:]: if c != "" and c != "\n": vide=False break tab+=1 # En cas de ligne vide if vide == True: print "%s %s" % (fils, fils) return # On stocke le chiffre dans la profondeur actuelle arbo[tab]=fils # Si on a un père if tab > 0: # On écrit le fils courant et son père print "%s %s" % (arbo[tab - 1], arbo[tab]) else: # On écrit le fils deux fois print "%s %s" % (arbo[tab], arbo[tab]) # Analyse() # Pour tester p=open("toto.txt", "r") while True: info=p.readline() if info == "": break analyse(arbo, info) p.close()