Bonsoir, j'ai essayé de différentes façon de convertir une chaine de caractère en tableau (type= list).
Les données que je veux récupérer sont en faite sous forme de tableaux.
(un tablau par ligne)

Concrètement:

Code data.txt : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
['Serveur1', 'Serveur2']
['127.0.0.1', '127.0.0.2']
['80', '21']
['ServeurHTTP', 'ServeurFTP']
A la ligne 1: le nom du serveur, ligne 2: adresse ip, ligne 3: port et ligne 4: note ou information supplémentaire.


Avec ça j'ai un résultat presque convenable:

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
    def recuperer_donnees(self, evt):
		try:
			fs = file("data.txt", "r") #On ouvre le fichier qui contient les données des serveur enregistrés (mode lecture)              
			data = fs.read() #On attibue la chaine de caractère que contient le fichier à la variable "data"
			tab_data = data.split("\n")	#On cree un tableau avec quatre sous tableaux contenant les informations (nom, adresse, port et infos des différents serveurs)		
 
			self.nom = tab_data[0]	
			#------------------------------------------------------------------------------------------------------------------------------------------------------
			#On converti la chaîne de caractère self.nom en tableau pour pouvoir gérer les entrées plus simplement par la suite
			#------------------------------------------------------------------------------------------------------------------------------------------------------
			temp_nom = "".join(self.nom)
			temp_nom = temp_nom.replace("'","")
			temp_nom = temp_nom.replace("[","")
			temp_nom = temp_nom.replace("]","")
			temp_nom = temp_nom.replace(",","")
			self.nom = temp_nom.split(' ')
 
			self.adresse = tab_data[1]
			#------------------------------------------------------------------------------------------------------------------------------------------------------
 
			#------------------------------------------------------------------------------------------------------------------------------------------------------
			temp_adresse = "".join(self.adresse)
			temp_adresse = temp_adresse.replace("'","")
			temp_adresse = temp_adresse.replace("[","")
			temp_adresse = temp_adresse.replace("]","")
			temp_adresse = temp_adresse.replace(",","")
			self.adresse = temp_adresse.split(' ')
 
			self.port = tab_data[2]
			#------------------------------------------------------------------------------------------------------------------------------------------------------
 
			#------------------------------------------------------------------------------------------------------------------------------------------------------
			temp_port = "".join(self.port)
			temp_port = temp_port.replace("'","")
			temp_port = temp_port.replace("[","")
			temp_port = temp_port.replace("]","")
			temp_port = temp_port.replace(",","")
			self.port = temp_port.split(' ')
 
 
			self.note = tab_data[3]
			#------------------------------------------------------------------------------------------------------------------------------------------------------
 
			#------------------------------------------------------------------------------------------------------------------------------------------------------
			temp_note = "".join(self.note)
			temp_note = temp_note.replace("'","")
			temp_note = temp_note.replace("[","")
			temp_note = temp_note.replace("]","")
			temp_note = temp_note.replace(",","")
			self.note = temp_note.split(' ')
			#--------------------------------------------------------------------------------------------------------------------------------------		
			#--------------------------------------------------------------------------------------------------------------------------------------		
		except: 
			""
Donc en faite je m'embête à découper des chaines de caractère pour en faire des tableaux.
Encore si ça fonctionnait, ca serait une solution ( bien que sa fasse "lourd"),
mais comme le découpage se fait en fonction des guillemets et espaces qu'on retrouve dans un tableau, si la chaine de caractère contient un des même symbole, la fonction n'est plus d'aucune utilité.

C'est à dire que si je fais:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
self.recuperer_donnees(self)
print self.nom[0]
J'arriverai à récupérer correctement la première entrée du tableau : Serveur1
Mais si elle contenait un espace 'Serveur 1'
Le résultat affiché ne serait plus correcte puis ce qu'au niveau de la fonction de "decoupage de la chaine" il y aurait eu un problème :s


Si quelqu'un peux m'aider ou à une solution qui serai moins "bidouillage" que mon code, merci.