De rupture de ligne ou “\n” ne fonctionne pas.
Pourriez-vous me dire pourquoi le saut de ligne \n n'est pas de travail?
itemsToWriteToFile = "Number 1:", 12, "\nNumber 2: ", 13, "\nNumber 3: ", 13, "\nNumber 4: ", 14
itemsToWriteToFile = str(itemsToWriteToFile)
itemsToWriteToFile = itemsToWriteToFile.replace('(', "")
itemsToWriteToFile = itemsToWriteToFile.replace(')', "")
itemsToWriteToFile = itemsToWriteToFile.replace('"', "")
itemsToWriteToFile = itemsToWriteToFile.replace(',', "")
itemsToWriteToFile = itemsToWriteToFile.replace('\n', "")
print(itemsToWriteToFile)
Pourquoi êtes-vous convertir un n-uplet de chaînes et de services de renseignements à une chaîne en premier lieu? Quel est votre objectif?
OH, désolé... totalement vu cela dans une JS tag. (suppression de commentaire original).
DSM, le code est editted légèrement de mon programme, il n'a plus de sens.
OH, désolé... totalement vu cela dans une JS tag. (suppression de commentaire original).
DSM, le code est editted légèrement de mon programme, il n'a plus de sens.
OriginalL'auteur Mat Whiteside | 2014-01-11
Vous devez vous connecter pour publier un commentaire.
La
str()
transformation est la conversion de l' "\n" "\\n".Ce qu'il se passe là-bas? Lorsque vous appelez
str()
sur une liste (le même pour le n-uplet), qui appelle la__str__()
méthode de la liste, qui à son tour appelle__repr__()
sur chacun de ses éléments. Nous allons vérifier ce que son comportement est:Donc là vous avez la cause.
Comme pour comment résoudre le problème, comme Blender proposé, la meilleure option serait de ne pas utiliser
str()
sur la liste:J'ai mis à jour ma réponse. Comme pour le comportement de str.__repr__, je ne pouvais pas trouver aucune référence à l'expliquer, mais ce genre de logique que vous souhaitez visualiser le contenu de la chaîne, pas de la chaîne.
Ceci est incorrect. Vous ne devriez pas avoir à les remplacer dans la première place.
La question demande pourquoi OP code ne fonctionne pas, et c'est ce que j'ai répondu.
Cette réponse, c'est ce que je cherchais; les autres sont des conseils utiles.
OriginalL'auteur Siegfried Gevatter
Toutes les autres réponses sont à la correction d'un problème qui ne devrait même pas exister. Traduire votre tuple de chaînes et de services de renseignements en une liste de chaînes de caractères. Ensuite, utilisez
str.join()
à se joindre à eux dans une grande chaîne:Cette réponse est agréable d'avoir, mais je ne dirais pas que c'est mieux que de Siegfried. J'ai googlé "python de retour à la ligne ne fonctionne pas" et a obtenu à cette question. Une optimisation sur l'OP du code n'a aucun sens pour moi, et je soupçonne que la plupart des gens. Il est beaucoup plus utile de savoir que
str('\n')
retourne'\n'
.Ce n'est pas une optimisation. Si vous voulez vous joindre à des choses ensemble, l'utilisation
str.join()
. (Ab)à l'aide destr(itemsToWriteToFile)
, puis en supprimant les parenthèses, virgules et entre guillemets est la mauvaise façon de le faire. C'est comme utilisereval(str(a) + ' * ' + str(b))
pour multiplier deux nombres.OriginalL'auteur Blender
utiliser cette
OriginalL'auteur chk
Utilisation
itemsToWriteToFile.replace('\\n', "")
au lieu deitemsToWriteToFile.replace('\n', "")
OriginalL'auteur Nullify
J'ai eu ce problème aussi, et je l'ai résolu en effectuant les modifications suivantes:
Puis à l'aide de {{valeur|retours à la ligne (}} enfin travaillé. Devinez \n dans la chaîne n'a pas fonctionné à cause de Sigfried la réponse ci-dessus.
OriginalL'auteur mowgli