0
votes

Python Ecrire un fichier .txt ne fait pas économiser de sortie correctement

J'ai une série d'URL dans un .txt, je veux imprimer les modifications de Python que j'ai apportées à une nouvelle .txt

mon URLS.txt xxx

après Je fais les modifications que la sortie du terminal est imprimée (nouvelle_list) xxx

alors lorsque j'écris sur le nouveau .txt la seule chose qui est écrite est Xxx

Le code que j'ai utilisé pour écrire sur le nouveau texte est comme suit xxx

new_list est un str

y a-t-il un Raison que je ne peux pas obtenir chaque ligne d'imprimer dans mon fichier .txt?

Le code total est ci-dessous, je sais que c'est un peu long enroulement mais c'est pour un exercice xxx


1 commentaires

Le plus facile peut être d'ouvrir le fichier en premier et le garder ouverte pendant que vous écrivez toutes les lignes. Vous l'ouvrez et écrasez-vous pour chaque ligne (mode 'W' écrase l'ancien contenu)


3 Réponses :


2
votes

Ouvrez votre fichier en mode APPEND. Utilisez ce code pour écrire dans le fichier xxx


1 commentaires

Je vous en suis reconnaissant. C'était exactement ce que je cherchais. J'ai dû manquer que dans cette documentation.



0
votes

Le problème réside dans la façon dont vous écrivez la liste dans le fichier. En fait, vous écrasez le fichier pour chaque élément de liste dans cette pièce du code: xxx pré>

le moyen le plus simple strong> pour corriger le mode d'ouverture de fichier de l'écriture et écrasement ( "" w " code> dans la fonction ouvrir code> fonction), pour créer s'il manque et ajoute (" a " p> Cependant, la manière appropriée forte> serait d'ouvrir le fichier une fois et d'écrire la liste entière à la place au lieu de recréer le fichier à chaque fois. p>

corriger la mise en place Pour code> dans le avec code> Context Manager: P>

    with open("listurls.txt", "w") as f:
        for lists in value:                             
            new_list = ("['" + lists + "'],")           
            print(new_list)                            
            f.writelines(new_list)


0 commentaires

0
votes

Writelines () n'est pas ajoutée New_List à LISTURLS.TXT. Ce qu'il fait est: - xxx pré>

dans la première itération. P>

dans la prochaine itération, p> xxx pré>

Au lieu de p> xxx pré>

pour résoudre ce problème, ouvrez les LISTURLS en mode APPEND et non en mode d'écriture. P>

with open("listurls.txt", "a") as f:
            f.writelines(new_list)


0 commentaires