120 votes

Python strip avec \n

C'est là mon problème.

J'essaie de lire un fichier texte et de convertir les lignes en flottants. Le fichier texte contient \n y \t mais je ne sais pas comment m'en débarrasser.

J'ai essayé d'utiliser line.strip() mais il ne l'a pas enlevé et j'ai obtenu une erreur lorsque j'ai voulu convertir les éléments en flottants. J'ai alors essayé line.strip("\n") mais cela n'a pas fonctionné non plus. Mon programme fonctionne bien lorsque j'enlève le \t y \n à partir du fichier texte, mais cela fait partie de la mission de faire en sorte qu'il fonctionne avec eux.

Je ne sais vraiment pas pourquoi cela ne fonctionne pas. Merci de votre aide.

1voto

jimifiki Points 1435

Souvent, selon la façon dont on lit les lignes, pour se débarrasser des \n de myline, vous pouvez prendre myline[:-1] puisque \n est le dernier caractère de myline.

Pour les ' \t vous pouvez utiliser replace() ou strip()

1voto

Ben Points 22160

Si vous essayez de convertir des lignes de valeurs flottantes séparées par des caractères de tabulation, alors il suffit de float(line) essaiera de convertir toute la ligne en un seul flottant, ce qui échouera s'il y en a plus d'un. L'utilisation de strip pour se débarrasser des espaces blancs de début et de fin ne va pas résoudre ce problème fondamental.

Peut-être avez-vous besoin de split chaque ligne en morceaux et faire quelque chose avec chaque morceau ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X