1341 votes

Comment lire un fichier texte dans une variable de type chaîne et supprimer les retours à la ligne ?

J'utilise le segment de code suivant pour lire un fichier en python :

with open ("data.txt", "r") as myfile:
    data=myfile.readlines()

Le fichier d'entrée est :

LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN
GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE

et quand j'imprime les données, j'obtiens

['LLKKKKKKKKMMMMMMMMNNNNNNNNNNNNN\n', 'GGGGGGGGGHHHHHHHHHHHHHHHHHHHHEEEEEEEE']

Comme je le vois, les données sont dans list forme. Comment faire pour qu'elle devienne une chaîne ? Et aussi comment supprimer le "\n" , "[" y "]" les personnages qui en sont issus ?

1877voto

sleeplessnerd Points 2804

Vous pourriez utiliser :

with open('data.txt', 'r') as file:
    data = file.read().replace('\n', '')

586voto

xiaoyu Points 829

Utiliser read(), et non readline()

data=myfile.read()

35voto

MagerValp Points 756
with open("data.txt") as myfile:
    data="".join(line.rstrip() for line in myfile)

join() joint une liste de chaînes de caractères, et rstrip() sans argument coupe les espaces, y compris les nouvelles lignes, à la fin des chaînes de caractères.

12voto

Chris Points 19350

Il est difficile de dire exactement ce que vous recherchez, mais quelque chose comme ceci devrait vous aider à démarrer :

with open ("data.txt", "r") as myfile:
    data = ' '.join([line.replace('\n', '') for line in myfile.readlines()])

5voto

butchi Points 2001
f = open('data.txt','r')
string = ""
while 1:
    line = f.readline()
    if not line:break
    string += line

f.close()

print(string)

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