Maison développement back-end Tutoriel Python Comment lire le texte txt ligne par ligne et supprimer les doublons sous python3.4.3

Comment lire le texte txt ligne par ligne et supprimer les doublons sous python3.4.3

May 02, 2018 pm 04:17 PM
文本

Cet article présente principalement la méthode de lecture du texte txt ligne par ligne et de suppression des doublons sous python3.4.3. Il a une certaine valeur de référence. Maintenant, je le partage avec vous. Les amis dans le besoin peuvent s'y référer

Les problèmes auxquels il convient de prêter attention lors de la lecture et de l'écriture de fichiers incluent :

1. Codage des caractères

2. Fermez immédiatement le descripteur de fichier. une fois l'opération terminée

3. Compatibilité des codes

Plusieurs méthodes :

#!/bin/python3
original_list1=[" "]
original_list2=[" "]
original_list3=[" "]
original_list4=[" "]
newlist1=[" "]
newlist2=[" "]
newlist3=[" "]
newlist4=[" "]
newtxt1=""
newtxt2=""
newtxt3=""
newtxt4=""
#first way to readline
f = open("duplicate_txt.txt","r+")    # 返回一个文件对象  
line = f.readline()           # 调用文件的 readline()方法 
while line:  
  original_list1.append(line)          
  line = f.readline()  
f.close() 
#use "set()" remove duplicate str in the list
# in this way,list will sort randomly
newlist1 = list(set(original_list1))
#newlist1 = {}.fromkeys(original_list1).keys() #faster 
#rebuild a new txt 
newtxt1="".join(newlist1)
f1 = open("noduplicate1.txt","w")
f1.write(newtxt1)
f1.close()
###################################################################
#second way to readline
for line in open("duplicate_txt.txt","r+"):  
  original_list2.append(line)
newlist2 = list(set(original_list2))
newlist2.sort(key=original_list2.index)         #sort
#newlist2 = sorted(set(original_list2),key=l1.index)  #other way
newtxt2="".join(newlist2)
f2 = open("noduplicate2.txt","w")
f2.write(newtxt2)
f2.close()
###################################################################
#third way to readline
f3 = open("duplicate_txt.txt","r")  
original_list3 = f3.readlines()       #读取全部内容 ,并以列表方式返回 
for i in original_list3:          #遍历去重
  if not i in newlist3:
      newlist3.append(i)
newtxt3="".join(newlist3)
f4 = open("noduplicate3.txt","w")
f4.write(newtxt3)
f4.close()
###################################################################
#fourth way
f5 = open('duplicate_txt.txt',"r+") 
try: 
  original_list4 = f5.readlines() 
  [newlist4.append(i) for i in original_list4 if not i in newlist4]
  newtxt4="".join(newlist4)
  f6 = open("noduplicate4.txt","w")
  f6.write(newtxt4)
  f6.close()
finally: 
  f5.close()
Copier après la connexion

Résultat :

Avant déduplication :

Après déduplication (non ordonnée) :

Après déduplication (ordonnée) :

Résumé

Le programme ci-dessous implique des opérations de lecture et d'écriture de fichiers et des opérations de liste chaînée. début de l'article C'est une question comme je n'utilise pas le chinois, je m'en fiche de l'encodage, mais je dois quand même le mentionner ici :

f = open("test.txt","w")
f.write(u"你好")
Copier après la connexion

Si le code ci-dessus est en python2 Lors de l'exécution, une erreur

sera signalée car le programme ne peut pas enregistrer directement la chaîne Unicode. Elle doit être codée et convertie. dans une séquence d'octets binaires de type str avant de pouvoir être enregistrée.

La méthode write() convertira automatiquement l'encodage, en utilisant le format d'encodage ascii par défaut, et ascii ne peut pas gérer le chinois, donc UnicodeEncodeError se produit.

La bonne méthode consiste à convertir manuellement le format avant d'appeler la méthode write(), et à utiliser utf-8 ou gbk pour convertir en str.

f = open("test.txt","w")
text=u"你好"
text=text.encode(encoding='utf-8')
f.write(text)
Copier après la connexion

À propos de close() :

Que se passera-t-il si vous ne Je ne le ferme pas ? Et l'impact ? Une fois l'opération terminée, ne pas fermer le fichier entraînera un gaspillage de ressources système, car le nombre de descripteurs de fichiers pouvant être ouverts par le système est limité. Linux est 65535.

De manière générale, tout ira bien après la fermeture, mais il peut y avoir des situations particulières. Par exemple, une erreur s'est produite lors de l'appel de la fonction open() et les autorisations sont définitivement insuffisantes. signaler une erreur. Une autre méthode est que s'il n'y a pas suffisamment d'espace disque pendant write(), une erreur sera signalée et close() n'aura aucune chance de s'exécuter. La bonne façon est d'utiliser try except pour intercepter l'exception :

f = open("test.txt","w")
try:
  text=u"你好"
  text=text.encode(encoding='utf-8')
  f.write(text)
except: IOError as e:
  print("oops,%s"%e.args[0])
finally:
  f.close()
Copier après la connexion

Une façon d'écrire plus élégante est d'utiliser with...as.

with open("test.txt","w") as f:
  text=u"你好"
  f.write(text.encode(encoding='utf-8'))
Copier après la connexion

L'objet fichier implémente le protocole du gestionnaire du matin et de l'après-midi Lorsque le programme entre dans l'instruction with, l'objet fichier sera affecté à la variable f. . Lorsque le programme se termine avec La méthode close() sera appelée automatiquement.

Concernant les problèmes de compatibilité :

Les fonctions open() de python2 et python3 sont différentes. Ces dernières peuvent spécifier des caractères dans la fonction Encoding. format.

Comment résoudre le problème de compatibilité open() entre python2 et python3 ?

Utiliser la fonction open() sous le module io.io.open en python2 est équivalent à la fonction open de python3

from io import open
with open("test.txt","w",encoding='utf-8') as f:
  f.write(u"你好")
Copier après la connexion

Recommandations associées :


Exemples de décompression de fichiers zip et de suppression de fichiers sous python_python


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que faire si le système Win7 ne peut pas ouvrir le texte txt Que faire si le système Win7 ne peut pas ouvrir le texte txt Jul 06, 2023 pm 04:45 PM

Que dois-je faire si le système Win7 ne peut pas ouvrir le texte txt ? Lorsque nous devons modifier des fichiers texte sur nos ordinateurs, le moyen le plus simple est d'utiliser des outils de texte. Cependant, certains utilisateurs constatent que leurs ordinateurs ne peuvent pas ouvrir les fichiers texte txt. Alors, comment résoudre ce problème ? Jetons un coup d'œil au didacticiel détaillé pour résoudre le problème de l'impossibilité d'ouvrir le texte txt dans le système win7. Tutoriel pour résoudre le problème selon lequel le système Win7 ne peut pas ouvrir le texte txt. 1. Cliquez avec le bouton droit sur n'importe quel fichier txt sur le bureau, vous pouvez cliquer avec le bouton droit pour créer un nouveau document texte, puis sélectionner les propriétés, comme indiqué. illustré ci-dessous : 2. Dans la fenêtre des propriétés txt ouverte, recherchez le bouton de modification sous les options générales, comme indiqué dans la figure ci-dessous : 3. Dans le paramètre du mode d'ouverture contextuel

Essayez de nouvelles sonneries et tonalités de texte : découvrez les dernières alertes sonores sur iPhone sous iOS 17 Essayez de nouvelles sonneries et tonalités de texte : découvrez les dernières alertes sonores sur iPhone sous iOS 17 Oct 12, 2023 pm 11:41 PM

Dans iOS 17, Apple a remanié toute sa sélection de sonneries et de tonalités de texte, offrant plus de 20 nouveaux sons pouvant être utilisés pour les appels, les messages texte, les alarmes et bien plus encore. Voici comment les voir. De nombreuses nouvelles sonneries sont plus longues et semblent plus modernes que les anciennes sonneries. Ils incluent arpège, brisé, canopée, cabine, gazouillis, aube, départ, dolop, voyage, bouilloire, mercure, galaxie, quad, radial, charognard, semis, abri, saupoudrage, marches, heure du conte, taquiner, inclinaison, déplier et vallée. La réflexion reste l'option de sonnerie par défaut. Plus de 10 nouvelles tonalités de texte sont également disponibles pour les messages texte entrants, les messages vocaux, les alertes de courrier entrant, les alertes de rappel, etc. Pour accéder à de nouvelles sonneries et tonalités de texte, assurez-vous d'abord que votre iPhone

Utiliser de grands modèles pour créer un nouveau paradigme pour la formation aux résumés de texte Utiliser de grands modèles pour créer un nouveau paradigme pour la formation aux résumés de texte Jun 10, 2023 am 09:43 AM

1. Tâche de texte Cet article traite principalement de la méthode de résumé génératif de texte et de la manière d'utiliser l'apprentissage contrastif et les grands modèles pour mettre en œuvre le dernier paradigme de formation à la synthèse générative de texte. Il s'agit principalement de deux articles, l'un est BRIO : Bringing Order to Abstractive Summarization (2022), qui utilise l'apprentissage contrastif pour introduire des tâches de classement dans le modèle génératif ; l'autre est OnLearning to Summarize with Large Language Models as References (2023), qui approfondit introduit de grands modèles pour générer des données de formation de haute qualité basées sur BRIO. 2. Méthodes de formation à la synthèse de texte générative et

Comment rechercher du texte dans tous les onglets de Chrome et Edge Comment rechercher du texte dans tous les onglets de Chrome et Edge Feb 19, 2024 am 11:30 AM

Ce didacticiel vous montre comment rechercher du texte ou des phrases spécifiques sur tous les onglets ouverts dans Chrome ou Edge sous Windows. Existe-t-il un moyen d'effectuer une recherche de texte sur tous les onglets ouverts dans Chrome ? Oui, vous pouvez utiliser une extension Web externe gratuite dans Chrome pour effectuer des recherches de texte sur tous les onglets ouverts sans avoir à changer d'onglet manuellement. Certaines extensions comme TabSearch et Ctrl-FPlus peuvent vous aider à y parvenir facilement. Comment rechercher du texte dans tous les onglets de Google Chrome ? Ctrl-FPlus est une extension gratuite qui permet aux utilisateurs de rechercher facilement un mot, une expression ou un texte spécifique dans tous les onglets de la fenêtre de leur navigateur. Cette extension

Après avoir discuté en ligne pendant un mois, l'escroc tueur de cochons a été vaincu par l'IA ! 2 millions d'internautes ont crié choqués Après avoir discuté en ligne pendant un mois, l'escroc tueur de cochons a été vaincu par l'IA ! 2 millions d'internautes ont crié choqués Apr 12, 2023 am 09:40 AM

En parlant de « plaque à tuer les cochons », tout le monde doit la détester avec des démangeaisons. Dans ce type de fraude aux rencontres et au mariage en ligne, les escrocs recherchent à l’avance des victimes faciles à tomber, et ce sont souvent des filles innocentes, bienveillantes et bien élevées avec de beaux fantasmes d’amour. Afin de combattre ces escrocs pendant 500 rounds, "Turing's Cat", un nouveau venu bien connu dans le cercle technologique de la Station B, a formé une IA qui fait fréquemment des blagues hilarantes lorsqu'elle discute et qui est encore meilleure qu'une vraie personne. En conséquence, grâce au fonctionnement de l'IA, l'escroc a été confondu par cette fausse dame et a directement transféré 520 à « elle ». Ce qui est encore plus drôle, c'est qu'après avoir découvert que l'escroc n'avait aucune chance de profiter de lui, non seulement il a fini par briser sa défense, mais il a également reçu une « citation célèbre » de l'IA : Dès que le La vidéo est sortie, elle est immédiatement devenue virale et les amis surfant à la station B ont tous été dupés.

Comment copier du texte à partir de captures d'écran sous Windows 11 Comment copier du texte à partir de captures d'écran sous Windows 11 Sep 20, 2023 pm 05:57 PM

Téléchargez le nouvel outil de capture avec des actions de texte Bien que le nouvel outil de capture soit limité aux versions de développement et Canary, si vous ne voulez pas attendre, vous pouvez installer l'outil de capture Windows 11 mis à jour (numéro de version 11.2308.33.0) maintenant. Comment cela fonctionne : 1. Allez-y et ouvrez ce site Web (visite) sur votre PC Windows. 2. Ensuite, sélectionnez « ID produit » et collez « 9MZ95KL8MR0L » dans le champ de texte. 3. Basculez vers l'anneau « Rapide » dans le menu déroulant de droite et cliquez sur Rechercher. 4. Recherchez maintenant cette version « 2022.2308.33.0 » dans les résultats de recherche qui apparaissent. 5. Faites un clic droit sur celui avec l'extension MSIXBUNDLE et dans le menu contextuel

Apprenez à ouvrir des documents texte Win11 Apprenez à ouvrir des documents texte Win11 Jan 02, 2024 pm 03:54 PM

Les documents texte sont des fichiers très importants dans le système. Ils nous permettent non seulement de visualiser de nombreux contenus textuels, mais fournissent également des fonctions de programmation. Cependant, après la mise à jour du système win11, de nombreux amis ont constaté que les documents texte ne pouvaient pas être ouverts. Pour le moment, nous pouvons les ouvrir directement en les exécutant. Où ouvrir un document texte dans win11 1. Appuyez d'abord sur "win+r" sur le clavier pour appeler run. 2. Saisissez ensuite « bloc-notes » pour créer directement un nouveau document texte. 3. Si nous voulons ouvrir un document texte existant, nous pouvons également cliquer sur le fichier dans le coin supérieur gauche, puis cliquer sur « Ouvrir ».

Comment utiliser Windows Copilot avec le Presse-papiers pour développer, expliquer, résumer ou modifier le texte copié Comment utiliser Windows Copilot avec le Presse-papiers pour développer, expliquer, résumer ou modifier le texte copié Jul 29, 2023 am 08:41 AM

Parmi les quelques fonctionnalités dont Copilot dispose actuellement sur Windows 11, la plus utile est peut-être celle qui vous permet d'interagir avec et d'ajuster le texte qui a été copié dans le presse-papiers. Cela facilite l'utilisation de Copilot comme outil d'édition et de synthèse de texte, directement depuis votre bureau. Voici tout ce que vous devez savoir sur l'utilisation de Copilot pour interpréter, réviser, étendre et résumer du texte sous Windows. Comment utiliser le texte copié dans Windows Copilot Un aperçu de Copilot nous donne un premier aperçu de l'intégration par Windows de la prise en charge native de l'IA. L'une des premières capacités permettant de modifier ou d'étendre un texte copié ailleurs consistait à créer, résumer, réviser et

See all articles