Comment adhérer à toutes les lignes dans un fichier texte en python?
J'ai un fichier et quand je l'ouvre, il imprime certains paragraphes. J'ai besoin d'adhérer à ces paragraphes avec un espace forme un grand corps de texte.
pour, par exemple,
for data in open('file.txt'):
print data
a une sortie comme celle-ci:
Hello my name is blah. What is your name?
Hello your name is blah. What is my name?
Comment la sortie comme ça?:
Hello my name is blah. What is your name? Hello your name is blah. What is my name?
J'ai essayé de remplacer les retours à la ligne avec un espace comme suit:
for data in open('file.txt'):
updatedData = data.replace('\n',' ')
mais qui ne reçoit débarrasser des lignes vides, il ne veut pas rejoindre l'paragraphes
et aussi essayé de joindre comme suit:
for data in open('file.txt'):
joinedData = " ".join(data)
mais qui la sépare de chaque personnage avec un espace, tandis que les pas se débarrasser du format de paragraphe.
OriginalL'auteur user2353608 | 2013-05-06
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser
str.join
:line.strip()
va supprimer tous les types d'espaces à partir des deux extrémités de la ligne.Vous pouvez utiliser
line.rstrip("\n")
de ne supprimer que la fuite"\n"
.Si
file.txt
contient:Le résultat:
OriginalL'auteur Ashwini Chaudhary
Vous êtes en boucle sur les lignes et c'est le
print
instruction qui consiste à ajouter des retours à la ligne. La suivante devrait fonctionner:Avec la virgule,
print
ne pas ajouter un saut de ligne, et le.rstrip()
appel supprime juste la fuite de saut de ligne de la ligne.Sinon, vous devez passer tous les lire et dépouillé lignes de
' '.join()
, pas chaque ligne lui-même. Chaînes de caractères en python sont des séquences d', de sorte que la chaîne contenue dans la ligne est interprété comme de caractères séparés lorsqu'il est passé sur c'est propre à' '.join()
.Le code suivant utilise deux nouvelles tours; le contexte gestionnaires et d'une compréhension de liste:
La
with
instruction utilise le fichier de l'objet en tant que gestionnaire de contexte, sens le fichier sera automatiquement fermé lorsque nous avons terminé avec le bloc en retrait en dessous de lawith
déclaration. Le[.. for .. in ..]
syntaxe génère une liste à partir de lainputfile
objet où nous tournons à chaque ligne dans une version sans un retour à la ligne à la fin.OriginalL'auteur Martijn Pieters
OriginalL'auteur John La Rooy