L'exécution de méthode replace() dans une boucle for?
Sa fin et j'ai essayé de travailler sur un script simple pour renommer le nuage de points des données à un format de travail. Je ne sais pas ce que je fais de mal que le code en bas de fonctionne très bien. Pourquoi ne pas le code dans la boucle de travail? C'est de l'ajouter à la liste, mais son tout simplement pas l'obtenir formaté par la fonction remplacer. Désolé je sais que ce n'est pas un débogueur, mais je suis vraiment bloqué sur ce et il serait probablement prendre 2 secondes pour quelqu'un d'autre pour voir le problème.
# Opening and Loading the text file then sticking its lines into a list []
filename = "/Users/sacredgeometry/Desktop/data.txt"
text = open(filename, 'r')
lines = text.readlines()
linesNew = []
temp = None
# This bloody for loop is the problem
for i in lines:
temp = str(i)
temp.replace(' ', ', ',2)
linesNew.append(temp)
# DEBUGGING THE CODE
print(linesNew[0])
print(linesNew[1])
# Another test to check that the replace works ... It does!
test2 = linesNew[0].replace(' ', ', ',2)
test2 = test2.replace('\t', ', ')
print('Proof of Concept: ' + '\n' + test2)
text.close()
OriginalL'auteur SacredGeometry | 2011-10-18
Vous devez vous connecter pour publier un commentaire.
Votre pas de l'affectation de la valeur de retour de
replace()
à quoi que ce soit. Aussi,readlines
etstr(i)
sont inutiles.Essayez ceci:
Np Heureux de vous aider :).
OriginalL'auteur chown
Les chaînes sont immuables.
replace
renvoie une nouvelle chaîne, qui est ce que vous avez à insérer dans lelinesNew
liste.OriginalL'auteur Nathan
J'ai eu un problème similaire et est venu avec le code ci-dessous pour aider à le résoudre. Mon problème est que j'ai besoin de remplacer certaines parties d'une chaîne de caractères correspondant à l'étiquette. Je voulais aussi quelque chose qui serait réutilisable dans différents endroits au sein de mon application.
Avec le code ci-dessous, je suis en mesure de faire ce qui suit:
Voici le code:
OriginalL'auteur Joe Fusaro