Lorsque j'ai essayé de supprimer les sauts de ligne dans le fichier en utilisant python, je suis resté bloqué parce que je ne comprenais pas les spécifications de lecture du fichier. Cet article traite davantage de la «lecture de fichiers» que de «l'effacement des sauts de ligne». Je ne sais pas si cette méthode est bonne car elle est écrite par un débutant en python. Veuillez le lire pour référence seulement.
Je vais d'abord vous donner le mauvais exemple.
test1.py
#!/usr/bin/env python
#coding:utf-8
f = open('test1.txt','r')
for line in f:
text = line.replace('\n','')
text = text.replace('\r','')
print text,
f.close()
Et si je fais ça?
Résultat d'exécution
test test
J'aurais dû remplacer le code de saut de ligne par une chaîne de caractères vide, mais il y avait un espace. C'est ~~ ** car il traite ligne par ligne **, il fait la même chose que le code ci-dessous ~~. (Il semble y avoir un moyen d'effacer les blancs même si le traitement est effectué ligne par ligne à partir du commentaire, il semble donc y avoir une méthode pour traiter ligne par ligne. (Corrigé le 15/06))
space.py
#!/usr/bin/env python
#coding:utf-8
print 'test',
print 'Tesuto',
print 'tester'
Il est possible de supprimer le saut de ligne par ,
à la fin de la phrase, mais dans ce cas également un espace est inséré.
Dans le cas de python, si vous traitez chaque ligne, un espace sera inséré pour chaque processus même s'il n'est pas dans le texte.
Pour résoudre ce problème, lisons et traitons tous les fichiers plutôt que ligne par ligne.
Utilisez read ()
pour lire tous les fichiers.
test2.py
#!/usr/bin/env python
#coding:utf-8
f = open('test1.txt','r')
Allf = f.read()
text = Allf.replace('\n','')
text = text.replace('\r','')
print text,
f.close()
Résultat d'exécution
test test
J'ai pu prendre des pauses et des espaces en toute sécurité.
Si vous n'entrez pas # coding: utf-8
au début de la ligne, vous pouvez obtenir une SyntaxError lorsque vous écrivez le code de saut de ligne dans le code.
Si vous obtenez une erreur telle que Non-ASCⅡ, vérifiez la déclaration.
Le code de saut de ligne est le suivant.
système | Code de saut de ligne |
---|---|
Linux | \n |
Mac | \r |
Windows | \r\n |
Dans de nombreux cas, vous pourrez peut-être utiliser uniquement \ n, mais dans le cas de Windows, etc., vous devez également supprimer \ r, alors soyez prudent.
Recommended Posts