Bonjour à tous,
Bon voilà j'essaye de faire un programme qui créer un "treillis" (élément de structure mécanique) à partir de données entrées dans un fichier texte.
Dans un premier temps j'ai rentré les données "Noeuds" ( identifiant du noeud, coordonnées x et y ) me permettant de créer les noeuds à partir de ma classe Noeud en lisant le fichier.
Voici le code :
et le fichier Données_Utilisateur.txt
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 #!/usr/bin # -*- coding: utf-8 -*- import numpy as np import numpy.linalg as npla import elements as ef import math as m def Lecture(src): headline = src.readline().rstrip('\n\r').split("|") Idt_Noeud = headline.index("Idt Noeud") coord_x=headline.index("coord x") coord_y=headline.index("coord y") #Lecture et création des noeuds (Creation of the Nodes by reading the "Données_Utilisateur.txt" file) i=0 n=[0,0,0,0,0,0,0] for ligne in src: data= ligne.rstrip('\n\r').split("|") n[i]=(ef.Noeud(data[Idt_Noeud],data[coord_x],data[coord_y])) i=i+1 return n # TEST: print the nodes' id and coordinates source= open("Données_Utilisateur.txt", "r") n=Lecture(source) l=len(ef.dicoNoeud) for i in range (l): print"idt n°",i+1,":",n[i].idt,"x:",n[i].x,"y:",n[i].y,"\n" source.close()
"
Idt Noeud|coord x|coord y
1|0.00|0.00
2|0.85|0.85
3|1.70|0.00
4|2.55|0.85
5|3.40|0.00
6|4.25|0.85
7|5.10|0.00
"
Mon programme fonctionne à condition que "Idt Noeud|coord x|coord y" reste à la première ligne et je cherche un moyen pour que mon programme trouve cette ligne automatiquement.
J'ai essayé ceci :
Mais çe ne fonctionne pas et je galère depuis quelques heures déjà ^^'.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 def Lecture(src): Noeud="Idt Noeud|coord x|coord y" for ligne in src: if Noeud in ligne break else: print"cherche encore" headline = src.readline().rstrip('\n\r').split("|") print"",headline
En éspèrant avoir été assez clair, merci par avance de votre aide.
Partager