Python n'est pas écrire de fichier
J'essaie d'écrire un joli imprimé e-mail à un .les fichiers txt afin que je puisse mieux visualiser ce que je veux analyser hors de lui.
Ici est cette partie de mon code:
result, data = mail.uid('search', None, "(FROM '[email protected]')") # search and return uids instead
latest_email_uid = data[0].split()[-1]
result, data = mail.uid('fetch', latest_email_uid, '(RFC822)')
raw_email = data[0][1]
html = raw_email
soup = BS(html)
pretty_email = soup.prettify('utf-8')
f = open("da_email.txt", "w")
f.write(pretty_email)
f.close
Je ne suis pas en cours d'exécution dans toutes les erreurs, mais je n'arrive pas à écrire les données dans le fichier. Je sais que les données sont correctement stockés dans le pretty_email variable parce que je peux l'imprimer dans la console.
Toutes les pensées?
MIS À JOUR MON CODE QUI NE FONCTIONNE TOUJOURS PAS:
result, data = mail.uid('search', None, "(FROM '[email protected]')") # search and return uids instead
latest_email_uid = data[0].split()[-1]
result, data = mail.uid('fetch', latest_email_uid, '(RFC822)')
raw_email = data[0][1]
html = raw_email
soup = BS(html)
pretty_email = soup.prettify('utf-8')
with open("da_email.txt", "w") as f:
f.write(pretty_email)
Vous devez vous connecter pour publier un commentaire.
Vous devez appeler la méthode close pour valider les modifications dans le fichier. Ajouter
()
à la fin:Ou encore mieux serait d'utiliser
avec
:qui se ferme automatiquement le fichier pour vous
f.flush()
.cwd
est de lancer ce:os.getcwd()
.python foo.py
(par opposition, par exemple, en double-cliquant dessus, exécuter à partir de votre IDE, en l'exécutant en tantpython myscripts/foo.py
à partir de la ligne de commande, etc.).with open(r"C:\users\Andrew\da_email.txt", "w") as f:
et voir ce qui se passe.Il vous manque les parenthèses à la fin de
f.close()
.