A voir également:
- [Python] Split : déformation de chaines
- Split cam - Télécharger - Messagerie
- Citizen code python avis - Accueil - Outils
- Trouver la position d'un élément dans une liste python ✓ - Forum Python
- Python est introuvable. exúcutez sans argument pour procúder ó l ✓ - Forum Python
3 réponses
tu veux en faire quoi de la ligne que tu récupères?
car si tu veux juste la fin au pire tu supprimes le début (ou récupère que la fin au choix ;) )
je pense que la fonction te met des '//' car ainsi '/' est considéré comme le caractère et non plus comme le début du retour à la ligne
je vois pas trop de solution à ton problème à part peut être ceci:
liste[1] = liste[1].replace('//', '/')
car si tu veux juste la fin au pire tu supprimes le début (ou récupère que la fin au choix ;) )
je pense que la fonction te met des '//' car ainsi '/' est considéré comme le caractère et non plus comme le début du retour à la ligne
je vois pas trop de solution à ton problème à part peut être ceci:
liste[1] = liste[1].replace('//', '/')
EN fait j'ai résolu le problème avec mon tuteur de stage. La chaine je la récupérais pour faire un split avec. Je récupérais une page html et grâce à deux morceaux de cette page j'isolais un tableau de donnée.
Comme tu me l'a dis le problème venait du fait que le page html codait les sauts de ligne avec des (enter) et pas des \n. Quand j'ai copier le morceau de chaine pour faire le split j'ai remplacer les (enter) apr des \n, donc quand le programme tournait il remplaçait les \n par \\n, et donc quand je les réutilisait, il ne reconnait pas...
Pour résoudre mon problème, j'ai opté pour copier les saut de ligne dans le fichier texte, mais comme je lisait ligne par ligne j'ai du ajouter des balises de fin de chaine et faire une fonction pour concaténer tous les morceaux et obtenir la chaine original.
je me doute que mon explication est un peu confuse mais voici le code de la fonction que j'ai écrit, si ça intéresse des gens :
Je me suis peut être compliqué la vie, par rapport aux possibilité de Python, mais voila j'ai fait comme j'ai pu avec mon savoir en C... (Vive le C \o/)
Merci quand même d'avoir répondu
Comme tu me l'a dis le problème venait du fait que le page html codait les sauts de ligne avec des (enter) et pas des \n. Quand j'ai copier le morceau de chaine pour faire le split j'ai remplacer les (enter) apr des \n, donc quand le programme tournait il remplaçait les \n par \\n, et donc quand je les réutilisait, il ne reconnait pas...
Pour résoudre mon problème, j'ai opté pour copier les saut de ligne dans le fichier texte, mais comme je lisait ligne par ligne j'ai du ajouter des balises de fin de chaine et faire une fonction pour concaténer tous les morceaux et obtenir la chaine original.
je me doute que mon explication est un peu confuse mais voici le code de la fonction que j'ai écrit, si ça intéresse des gens :
f = open("parametrage.txt", "r") line = [] liste = [] listeSepDeb = [] listeSepFin = [] listeurl=[] listeatt=[] listenet=[] while(line!=''): s='' line=f.readline() liste = line.split(' = ') if (liste[0]=='url'):#recuperation des url listeurl.append(liste[1].rstrip('\n')) if (liste[0]=='attribut'):#recuperation des attributs listeatt.append(liste[1].rstrip('\n')) if (liste[0]=='formatnettoyage'):#recuperation des fonction de nettoyage listenet.append(liste[1].rstrip('\n')) #-----------------------------------------------STRINGDEB----------------------------------------------- if (liste[0]=='stringDeb'): while(liste[0][-2:]!='$\n'): if (liste[0]=='stringDeb'): s=s+liste[1] else: s=s+liste[0] line=f.readline() liste = line.split(' = ') listeSepDeb.append(s.rstrip('$\n')) #-----------------------------------------------STRINGFIN----------------------------------------------- if (liste[0]=='stringFin'): while(liste[0][-2:]!='$\n'): if (liste[0]=='stringFin'): s=s+liste[1] else: s=s+liste[0] line=f.readline() liste = line.split(' = ') listeSepFin.append(s.rstrip('$\n'))
Je me suis peut être compliqué la vie, par rapport aux possibilité de Python, mais voila j'ai fait comme j'ai pu avec mon savoir en C... (Vive le C \o/)
Merci quand même d'avoir répondu
ça me parait lourd comme méthode, je regarderai plus en détails.
mais, quelques détails m'ont attiré:
- je replacerais tes 'if' par des 'elif' (equivalent de 'else if' en C) car 2 des conditions ne peuvent pas arriver à la suite (c'est juste pour la lisibilité du code je trouve)
- je vois pas trop pourquoi tu fais ça:
mais, quelques détails m'ont attiré:
- je replacerais tes 'if' par des 'elif' (equivalent de 'else if' en C) car 2 des conditions ne peuvent pas arriver à la suite (c'est juste pour la lisibilité du code je trouve)
- je vois pas trop pourquoi tu fais ça:
if (liste[0]=='stringFin'): while(liste[0][-2:]!='$\n'): if (liste[0]=='stringFin'):