Je suis en train de coder un programme en python (je suis débutant en la matière...) et voici mon problème : Je ne trouve pas comment faire en sorte que mon programme copie le contenu d'un fichier texte, dans une de ses variables, en chaîne de caractère.
J'ajoutte que le texte est formé de toutes les lignes du fichier séparées par des caractères '\n'. On peut générer une liste de "lignes" ou chaînes avec la commande split: file=open(...) text=file.read().split('\n') for line in text: ... Le lien suggère d'utiliser 'with'. Ce qui est une bonne idée à moins d'être certain de ce qu'on fait. :
Le Tout est souvent plus grand que la somme de ses parties.
@PierrotLeFou, il y a plus simple pour parcourir les lignes
file=open(...)
for ligne in file:
print(ligne)
bien sûr il faut que le fichier soit ouvert pour ça, alors que ta méthode permet de le faire aussi après fermeture du fichier; donc selon les besoins et les contraintes, on peut utiliser l'une ou l'autre.
Je ne vois pas ce que tu veux dire par "afficher" les '\n', ce sont les fins de ligne. On passe à la ligne suivante. Pour afficher un '\', il faut entrer '\\'. Pour ce qui est des caractères accentués, je ne suis pas sur un Mac, mais sur Windows. Il faut qu'il y ait coincidence entre ce que tu tapes dans ton éditeur, ce que comprend Python, et ta console. Je peux afficher facilement des caractères accentués en mettant tout le monde en Utf-8. Il me semble qu'il y avait une commande dans GNU sed pour convertir un code dans un autre, mais ça ne marche pas avec les regex de Python. Quelqu'un a une autre idée?
Le Tout est souvent plus grand que la somme de ses parties.
Je suis sur mac et lorsque je l'execute dans le terminal, ce n'est pas \n qui s'affiche mais uniquement \ Est ce que ça change qqch ?
Peut être que c'est la façon que le terminal d'OSX utilise pour signaler qu'il passe à la ligne non parce qu'il a vu "fin de ligne" mais parce que la ligne est trop longue...
TheoRaccoci a écrit:
Le deuxième problème est les accents... Est ce que c'est possible de ne pas prendre en compte les accents du texte que l'on veut copier ?
Une fois la chaine de caratcères lues, vous êtes dans le monde Unicode. Si vous voulez supprimer les accents, unicodedata.normalize est fait pour vous.
copier de texte dans une variable
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Blond, bouclé, toujours le sourire aux lèvres...
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.