1
votes

écriture de la sortie de la fonction d'impression dans un fichier texte

Je souhaite enregistrer le "contenu" dans un nouveau fichier texte en python. J'ai besoin d'avoir tous les mots en minuscules pour pouvoir trouver la fréquence des mots. '' 'text.lower ()' '' n'a pas fonctionné. Voici le code:

text=open('page.txt', encoding='utf8')
for x in text:
print(x.lower())

Je souhaite enregistrer les résultats de l'impression dans un nouveau fichier texte. Comment puis-je faire cela?


0 commentaires

3 Réponses :


0
votes
import sys 
stdoutOrigin=sys.stdout 
sys.stdout = open("yourfilename.txt", "w")
#Do whatever you need to write on the file here.
sys.stdout.close()
sys.stdout=stdoutOrigin

2 commentaires

Veuillez ne pas publier uniquement le code comme réponse, mais inclure également une explication de ce que fait votre code et de la manière dont il résout le problème de la question. Les réponses avec une explication sont généralement de meilleure qualité et sont plus susceptibles d'attirer des votes positifs.


Bien que cet article puisse répondre à la question, les réponses basées uniquement sur le code sont souvent considérées comme de mauvaise qualité. Veuillez fournir une justification / une explication textuelle expliquant pourquoi c'est la bonne réponse, même si elle est courte.



1
votes

Vous ouvrez le fichier page.txt en lecture, mais il n'est pas ouvert à l'écriture. Puisque vous souhaitez enregistrer dans un nouveau fichier texte, vous pouvez également ouvrir new_page.txt où vous écrivez toutes les lignes de page.txt en minuscules:

# the with statement is the more pythonic way to open a file
with open('page.txt') as fh:

    # open the new file handle in write mode ('w' is for write, 
    # it defaults to 'r' for read
    with open('new_page.txt', 'w') as outfile:
        for line in fh:
            # write the lowercased version of each line to the new file
            outfile.write(line.lower())


0 commentaires

1
votes

Vous pouvez utiliser le paramètre file dans print pour imprimer directement la sortie de print (...) dans le fichier souhaité.

text=open('page.txt', encoding='utf8')
text1=open('page1.txt', mode='x',encoding='utf8') #New text file name it according to you
for x in text:
    print(x.lower(),file=text1)
text.close()
text1.close()

Remarque: utilisez avec lorsque vous travaillez sur des fichiers. Comme vous n'êtes pas obligé d'utiliser explicitement .close , il s'en charge.


0 commentaires