Heim Backend-Entwicklung Python-Tutorial So lesen Sie TXT-Text Zeile für Zeile und entfernen Duplikate unter Python3.4.3

So lesen Sie TXT-Text Zeile für Zeile und entfernen Duplikate unter Python3.4.3

May 02, 2018 pm 04:17 PM
文本

Dieser Artikel stellt hauptsächlich die Methode zum zeilenweisen Lesen von TXT-Texten und zum Entfernen von Duplikaten unter Python3.4.3 vor. Jetzt kann ich ihn mit Ihnen teilen

Zu den Problemen, die beim Lesen und Schreiben von Dateien beachtet werden sollten, gehören:

1. Schließen Sie den Dateideskriptor sofort nach Abschluss des Vorgangs

3. Codekompatibilität

Mehrere Methoden:

#!/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()
Nach dem Login kopieren

Ergebnis:

Vor der Deduplizierung:

Nachher Deduplizierung (nicht in der richtigen Reihenfolge):

Nach der Deduplizierung (in der richtigen Reihenfolge):

ZusammenfassungDas folgende Programm umfasst Dateilese- und Schreibvorgänge sowie verknüpfte Listenvorgänge. Mehrere unter erwähnte Probleme Am Anfang des Artikels ist mir die Codierung egal, da ich kein Chinesisch verwende, aber ich muss es trotzdem hier erwähnen:

f = open("test.txt","w")
f.write(u"你好")
Nach dem Login kopieren

Der obige Code meldet einen Fehler, wenn er in Python2 ausgeführt wird.

Der Fehler wird gemeldet, weil das Programm die Unicode-Zeichenfolge nicht direkt speichern kann. Sie muss codiert und in ein Binärbyte konvertiert werden Sequenz vom Typ str, bevor sie gespeichert werden kann.

Die write()-Methode konvertiert die Kodierung automatisch und verwendet standardmäßig das ASCII-Kodierungsformat. ASCII kann Chinesisch nicht verarbeiten, sodass ein UnicodeEncodeError auftritt.

Der richtige Weg besteht darin, das Format vor dem Aufruf der write()-Methode manuell zu konvertieren und zum Konvertieren in str utf-8 oder gbk zu verwenden.

f = open("test.txt","w")
text=u"你好"
text=text.encode(encoding='utf-8')
f.write(text)
Nach dem Login kopieren

Über close(): Welche Auswirkungen hat es, wenn nicht geschlossen wird? ? Nach Abschluss des Vorgangs führt das Nichtschließen der Datei zu einer Verschwendung von Systemressourcen, da die Anzahl der Dateideskriptoren, die vom System geöffnet werden können, begrenzt ist. Linux ist 65535.

Im Allgemeinen ist es nach dem Schließen in Ordnung, es kann jedoch zu besonderen Situationen kommen. Beispielsweise ist beim Aufrufen der Funktion open() ein Fehler aufgetreten und der Aufruf von close() ist definitiv nicht ausreichend einen Fehler melden. Eine andere Methode besteht darin, dass, wenn während write() nicht genügend Speicherplatz vorhanden ist, ein Fehler gemeldet wird und close() keine Chance zur Ausführung hat. Der richtige Weg besteht darin, „try außer“ zu verwenden, um die Ausnahme abzufangen:

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()
Nach dem Login kopieren

Eine elegantere Schreibweise ist die Verwendung mit...as.

with open("test.txt","w") as f:
  text=u"你好"
  f.write(text.encode(encoding='utf-8'))
Nach dem Login kopieren

Das Dateiobjekt implementiert das Morgen- und Nachmittagsmanagerprotokoll. Wenn das Programm die with-Anweisung eingibt, weist es das Dateiobjekt der Variablen f und zu Es wird automatisch die Methode close() aufgerufen.

Zu Kompatibilitätsproblemen: Die open()-Funktionen von Python2 und Python3 sind unterschiedlich. Letztere können Zeichen in der Funktion angeben Format.

Wie löse ich das Kompatibilitätsproblem open() zwischen Python2 und Python3?

Verwenden Sie die open()-Funktion unter dem io-Modul io.open in Python2 entspricht der open-Funktion von Python3

from io import open
with open("test.txt","w",encoding='utf-8') as f:
  f.write(u"你好")
Nach dem Login kopieren

Verwandt Empfehlungen:


Beispiel für das Dekomprimieren von ZIP-Dateien und das Löschen von Dateien unter python_python


Das obige ist der detaillierte Inhalt vonSo lesen Sie TXT-Text Zeile für Zeile und entfernen Duplikate unter Python3.4.3. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Probieren Sie neue Klingeltöne und Texttöne aus: Erleben Sie die neuesten akustischen Warnungen auf dem iPhone in iOS 17 Probieren Sie neue Klingeltöne und Texttöne aus: Erleben Sie die neuesten akustischen Warnungen auf dem iPhone in iOS 17 Oct 12, 2023 pm 11:41 PM

In iOS 17 hat Apple seine gesamte Auswahl an Klingeltönen und Texttönen überarbeitet und bietet mehr als 20 neue Sounds, die für Anrufe, Textnachrichten, Alarme und mehr verwendet werden können. Hier erfahren Sie, wie Sie sie sehen können. Viele neue Klingeltöne sind länger und klingen moderner als ältere Klingeltöne. Dazu gehören Arpeggio, Broken, Canopy, Cabin, Chirp, Dawn, Departure, Dolop, Journey, Kettle, Mercury, Galaxy, Quad, Radial, Scavenger, Seedling, Shelter, Sprinkle, Steps, Story Time, Tease, Tilt, Unfold und Valley . Reflection bleibt die Standardklingeltonoption. Außerdem stehen über 10 neue Texttöne für eingehende Textnachrichten, Voicemails, Benachrichtigungen über eingehende E-Mails, Erinnerungsbenachrichtigungen und mehr zur Verfügung. Um auf neue Klingeltöne und Texttöne zuzugreifen, stellen Sie zunächst sicher, dass Ihr iPhone

Verwendung großer Modelle zur Schaffung eines neuen Paradigmas für das Textzusammenfassungstraining Verwendung großer Modelle zur Schaffung eines neuen Paradigmas für das Textzusammenfassungstraining Jun 10, 2023 am 09:43 AM

1. Textaufgabe In diesem Artikel wird hauptsächlich die Methode der generativen Textzusammenfassung erörtert und wie kontrastives Lernen und große Modelle verwendet werden können, um das neueste Trainingsparadigma für die generative Textzusammenfassung zu implementieren. Es handelt sich im Wesentlichen um zwei Artikel: Der eine ist BRIO: Bringing Order to Abstractive Summarization (2022), der kontrastives Lernen verwendet, um Ranking-Aufgaben in das generative Modell einzuführen, der andere ist OnLearning to Summarize with Large Language Models as References (2023), der weitergeht führt große Modelle ein, um hochwertige Trainingsdaten basierend auf BRIO zu generieren. 2. Trainingsmethoden zur generativen Textzusammenfassung und

So suchen Sie auf allen Registerkarten in Chrome und Edge nach Text So suchen Sie auf allen Registerkarten in Chrome und Edge nach Text Feb 19, 2024 am 11:30 AM

Dieses Tutorial zeigt Ihnen, wie Sie bestimmte Texte oder Phrasen auf allen geöffneten Tabs in Chrome oder Edge unter Windows finden. Gibt es eine Möglichkeit, eine Textsuche auf allen geöffneten Tabs in Chrome durchzuführen? Ja, Sie können eine kostenlose externe Weberweiterung in Chrome verwenden, um Textsuchen auf allen geöffneten Tabs durchzuführen, ohne die Tabs manuell wechseln zu müssen. Einige Erweiterungen wie TabSearch und Strg-FPlus können Ihnen dabei helfen, dies einfach zu erreichen. Wie durchsucht man Text auf allen Registerkarten in Google Chrome? Strg-FPlus ist eine kostenlose Erweiterung, die es Benutzern erleichtert, auf allen Registerkarten ihres Browserfensters nach einem bestimmten Wort, einer bestimmten Phrase oder einem bestimmten Text zu suchen. Diese Erweiterung

Was tun, wenn das Win7-System TXT-Text nicht öffnen kann? Was tun, wenn das Win7-System TXT-Text nicht öffnen kann? Jul 06, 2023 pm 04:45 PM

Was soll ich tun, wenn das Win7-System TXT-Texte nicht öffnen kann? Wenn wir Textdateien auf unseren Computern bearbeiten müssen, ist es am einfachsten, Textwerkzeuge zu verwenden. Einige Benutzer stellen jedoch fest, dass ihre Computer keine TXT-Textdateien öffnen können. Wie kann dieses Problem gelöst werden? Schauen wir uns das ausführliche Tutorial an, um das Problem zu lösen, dass TXT-Text im Win7-System nicht geöffnet werden kann. Tutorial zur Lösung des Problems, dass das Win7-System keinen TXT-Text öffnen kann. Wenn keine TXT-Datei auf dem Desktop vorhanden ist, können Sie mit der rechten Maustaste klicken, um ein neues Textdokument zu erstellen, und dann Eigenschaften auswählen Wie unten gezeigt: 2. Suchen Sie im geöffneten Fenster mit den TXT-Eigenschaften die Schaltfläche „Ändern“ unter den allgemeinen Optionen, wie in der Abbildung unten gezeigt: 3. In der Einstellung für den Popup-Öffnungsmodus

Nachdem er einen Monat lang online gechattet hatte, wurde der Schweineschlachtbetrüger tatsächlich von der KI besiegt! 2 Millionen Internetnutzer schrien schockiert Nachdem er einen Monat lang online gechattet hatte, wurde der Schweineschlachtbetrüger tatsächlich von der KI besiegt! 2 Millionen Internetnutzer schrien schockiert Apr 12, 2023 am 09:40 AM

Apropos „Schweinetötungsplatte“: Jeder muss es mit Juckreiz hassen. Bei dieser Art von Online-Dating- und Heiratsbetrug suchen Betrüger im Voraus nach Opfern, auf die man sich leicht verlieben kann. Dabei handelt es sich oft um unschuldige, gutherzige und wohlerzogene Mädchen mit wunderschönen Liebesphantasien. Um diese Betrüger 500 Runden lang zu bekämpfen, hat „Turing’s Cat“, ein bekannter Nachwuchs in der Technologieszene auf Station B, eine KI trainiert, die beim Chatten häufig lustige Witze macht und sogar besser ist als eine echte Person. Infolgedessen wurde der Betrüger durch den Einsatz der KI von dieser falschen Dame verwirrt und überwies 520 direkt an „sie“. Was noch lustiger ist: Nachdem er herausgefunden hatte, dass der Betrüger keine Chance hatte, ihn auszunutzen, brach er am Ende nicht nur seine Verteidigung ab, sondern erhielt von der KI auch ein „berühmtes Zitat“: Sobald der Als das Video herauskam, ging es sofort viral und alle Freunde, die an Station B surften, wurden alle getäuscht.

So kopieren Sie Text aus Screenshots unter Windows 11 So kopieren Sie Text aus Screenshots unter Windows 11 Sep 20, 2023 pm 05:57 PM

Laden Sie das neue Snipping Tool mit Textaktionen herunter. Obwohl das neue Snipping Tool auf Entwicklungs- und Canary-Builds beschränkt ist, können Sie, wenn Sie nicht warten möchten, jetzt das aktualisierte Windows 11 Snipping Tool (Versionsnummer 11.2308.33.0) installieren. So funktioniert das: 1. Öffnen Sie diese Website (besuchen) auf Ihrem Windows-PC. 2. Wählen Sie als Nächstes „Produkt-ID“ und fügen Sie „9MZ95KL8MR0L“ in das Textfeld ein. 3. Wechseln Sie im rechten Dropdown-Menü zum „Schnell“-Ring und klicken Sie auf „Suchen“. 4. Suchen Sie nun in den angezeigten Suchergebnissen nach dieser Version „2022.2308.33.0“. 5. Klicken Sie mit der rechten Maustaste auf das mit der MSIXBUNDLE-Erweiterung und im Kontextmenü

So verwenden Sie Windows Copilot mit der Zwischenablage, um kopierten Text zu erweitern, zu erklären, zusammenzufassen oder zu ändern So verwenden Sie Windows Copilot mit der Zwischenablage, um kopierten Text zu erweitern, zu erklären, zusammenzufassen oder zu ändern Jul 29, 2023 am 08:41 AM

Von den wenigen Funktionen, die Copilot derzeit unter Windows 11 bietet, ist die vielleicht nützlichste die, mit der Sie mit in die Zwischenablage kopiertem Text interagieren und ihn anpassen können. Dadurch können Sie Copilot ganz einfach als Textbearbeitungs- und Zusammenfassungstool direkt von Ihrem Desktop aus verwenden. Hier finden Sie alles, was Sie über die Verwendung von Copilot zum Interpretieren, Überarbeiten, Erweitern und Zusammenfassen von Text unter Windows wissen müssen. So verwenden Sie kopierten Text in Windows Copilot. Eine Vorschau von Copilot gibt uns einen ersten guten Einblick in die Windows-Integration der nativen KI-Unterstützung. Eine der ersten Möglichkeiten zum Ändern oder Erweitern von Text, der von anderswo kopiert wurde, war die Erstellung, Zusammenfassung, Überarbeitung usw. von Inhalten

Erfahren Sie, wie Sie Win11-Textdokumente öffnen Erfahren Sie, wie Sie Win11-Textdokumente öffnen Jan 02, 2024 pm 03:54 PM

Textdokumente sind sehr wichtige Dateien im System. Sie ermöglichen uns nicht nur die Anzeige vieler Textinhalte, sondern bieten auch Programmierfunktionen. Nach der Aktualisierung des Win11-Systems stellten viele Freunde jedoch fest, dass Textdokumente nicht geöffnet werden konnten. Schauen wir uns das jetzt direkt an. Wo öffnet man ein Textdokument in Win11? 1. Drücken Sie zunächst „win+r“ auf der Tastatur, um Ausführen aufzurufen. 2. Geben Sie dann „notepad“ ein, um direkt ein neues Textdokument zu erstellen. 3. Wenn wir ein bestehendes Textdokument öffnen möchten, können wir auch auf die Datei in der oberen linken Ecke klicken und dann auf „Öffnen“ klicken.

See all articles