Heim Backend-Entwicklung Python-Tutorial Detaillierte Erläuterung der Lese- und Schreibvorgänge für Python-Dateien

Detaillierte Erläuterung der Lese- und Schreibvorgänge für Python-Dateien

Oct 19, 2016 am 11:57 AM
python

1.open

Nachdem Sie open zum Öffnen einer Datei verwendet haben, müssen Sie daran denken, die Methode close() des Dateiobjekts aufzurufen. Beispielsweise können Sie mit der try/finally-Anweisung sicherstellen, dass die Datei endgültig geschlossen werden kann.

file_object = open('thefile.txt')

versuchen Sie:

all_the_text = file_object.read( )

endlich:

File_object.close( )

Hinweis: Die open-Anweisung kann nicht im try-Block platziert werden, da das Dateiobjekt file_object die Methode close() nicht ausführen kann, wenn beim Öffnen der Datei eine Ausnahme auftritt.

2. Datei lesen

Textdatei lesen

input = open('data', 'r')

#Der zweite Parameter ist standardmäßig r

input = open('data')

Binärdatei lesen

input = open('data', 'rb')

Alle Inhalte lesen

file_object = open('thefile.txt')

versuchen Sie:

all_the_text = file_object.read( )

endlich:

file_object.close( )

Feste Bytes lesen

file_object = open('abinfile', 'rb' )

try:

while True:

chunk = file_object.read(100)

if not chunk:

break

do_something_with(chunk)

endlich:

file_object.close( )

Jede Zeile lesen

list_of_all_the_lines = file_object.readlines( )

Wenn es sich bei der Datei um eine Textdatei handelt, können Sie das Dateiobjekt auch direkt durchlaufen, um jede Zeile zu erhalten:

für Zeile in file_object:

Prozesszeile

3. Datei schreiben

Textdatei schreiben

output = open('data', 'w')

Binärdatei schreiben

Ausgabe = open('data', 'wb')

Schreibdatei anhängen

Ausgabe = open('data', 'w')

Daten schreiben

file_object = open('thefile.txt', 'w')

file_object .write(all_the_text)

file_object.close( )

Mehrere Zeilen schreiben

file_object.writelines(list_of_text_strings)

Beachten Sie, dass der Aufruf von writelines zum Schreiben mehrerer Zeilen eine höhere Leistung hat als die Verwendung von write zum gleichzeitigen Schreiben aller Zeilen.

Bei der Verarbeitung von Protokolldateien stoßen wir häufig auf eine solche Situation: Die Protokolldatei ist riesig und es ist unmöglich, die gesamte Datei auf einmal zur Verarbeitung einzulesen Bei einem Computer mit einem physischen Speicher von 2 GB möchten wir möglicherweise nur 200 MB des Inhalts gleichzeitig verarbeiten.

In Python stellt das integrierte File-Objekt direkt eine readlines(sizehint)-Funktion bereit, um so etwas zu erreichen. Nehmen Sie den folgenden Code als Beispiel:

file = open('test.log', 'r')sizehint = 209715200 # 200Mposition = 0lines = file.readlines(sizehint)while not file.tell() - Position

Jedes Mal, wenn die Funktion readlines(sizehint) aufgerufen wird, werden ungefähr 200 MB Daten zurückgegeben, und alle zurückgegebenen Zeilen müssen sein vollständige Zeilen Daten, in den meisten Fällen ist die Anzahl der Bytes der zurückgegebenen Daten etwas größer als der durch sizehint angegebene Wert (außer wenn die Funktion readlines(sizehint) zum letzten Mal aufgerufen wird). Normalerweise passt Python den vom Benutzer angegebenen Sizehint-Wert automatisch an ein ganzzahliges Vielfaches der internen Cache-Größe an.

Datei ist ein spezieller Typ in Python, der zum Betrieb externer Dateien in Python-Programmen verwendet wird. Alles in Python ist ein Objekt, und Datei ist keine Ausnahme. Datei hat Dateimethoden und -attribute. Schauen wir uns zunächst an, wie man ein Dateiobjekt erstellt:

file(name[, mode[, buffering]]) Die Funktion

file() wird verwendet, um ein Dateiobjekt zu erstellen, das hat ein Alias ​​open(), vielleicht anschaulicher ausgedrückt, handelt es sich um integrierte Funktionen. Werfen wir einen Blick auf seine Parameter. Seine Parameter werden alle in Form von Zeichenfolgen übergeben. Name ist der Name der Datei.

Modus ist der offene Modus, die optionalen Werte sind r w a U, die Lese- (Standard) bzw. Schreibmodi darstellen, die verschiedene Zeilenumbrüche unterstützen. Wenn Sie eine Datei im W- oder A-Modus öffnen und die Datei nicht existiert, wird sie automatisch erstellt. Wenn Sie den W-Modus zum Öffnen einer vorhandenen Datei verwenden, wird außerdem der Inhalt der Originaldatei gelöscht, da sich die anfängliche Dateioperationsmarkierung am Anfang der Datei befindet. Wenn Sie zu diesem Zeitpunkt einen Schreibvorgang ausführen, wird der Originalinhalt gelöscht wird zweifellos gelöscht. Aus historischen Gründen hat das Newline-Zeichen in verschiedenen Systemen unterschiedliche Modi. Unter Unix ist es beispielsweise ein n und unter Windows ist es „rn“. Das Öffnen einer Datei im U-Modus unterstützt alle Newline-Modi, was bedeutet: „ r' 'n' 'rn' kann alle Zeilenumbrüche darstellen, und es wird ein Tupel zum Speichern der in dieser Datei verwendeten Zeilenumbruchzeichen verwendet. Obwohl es viele Modi für Zeilenumbrüche gibt, wird beim Lesen in Python stattdessen n verwendet. Nach dem Moduszeichen können Sie auch die beiden Bezeichner b und t hinzufügen, die jeweils angeben, dass die Datei gleichzeitig gelesen und geschrieben werden kann und die Datei im Binärmodus oder Textmodus (Standard) geöffnet werden kann.

Wenn die Pufferung 0 ist, bedeutet dies keine Pufferung. Wenn sie 1 ist, bedeutet dies „Zeilenpufferung“. Wenn sie eine Zahl größer als 1 ist, bedeutet dies die Größe des Puffers, die in Bytes angegeben werden sollte.

Das Dateiobjekt verfügt über eigene Eigenschaften und Methoden. Schauen wir uns zunächst die Attribute der Datei an.

geschlossen #Markieren Sie, ob die Datei geschlossen wurde, neu geschrieben durch close()

Kodierung #Dateikodierung

Modus #Öffnungsmodus

Name #Datei name

newlines #Der in der Datei verwendete Newline-Modus ist ein Tupel

Softspace #boolescher Typ, normalerweise 0. Er soll zum Lesen und Schreiben von print

verwendet werden Datei:

F.read([size]) #size ist die Länge des Lesevorgangs in Bytes

F.readline([size])

#Eine Zeile lesen , wenn Wenn die Größe definiert ist, ist es möglich, nur einen Teil einer Zeile zurückzugeben

F.readlines([size])

# Jede Zeile der Datei als Mitglied einer Liste behandeln und diese Liste zurückgeben. Tatsächlich wird es intern durch den Aufruf von readline() in einer Schleife implementiert. Wenn der Größenparameter angegeben wird, stellt die Größe die Gesamtlänge des gelesenen Inhalts dar, was bedeutet, dass nur ein Teil der Datei gelesen werden darf.

F.write(str)

#Str in die Datei schreiben, write() fügt nach str kein Newline-Zeichen hinzu

F.writelines( seq)

#Schreiben Sie den gesamten Inhalt von seq in die Datei. Diese Funktion schreibt auch einfach originalgetreu, ohne nach jeder Zeile etwas hinzuzufügen. Andere Methoden der

Datei:

F.close()

#Schließen Sie die Datei. Python schließt eine Datei automatisch, wenn sie nicht mehr verwendet wird. Diese Funktion ist jedoch nicht garantiert. Es ist am besten, die Gewohnheit zu entwickeln, sie selbst zu schließen. Wenn eine Datei nach dem Schließen bearbeitet wird, wird ein ValueError generiert

F.flush()

#Schreiben Sie den Inhalt des Puffers auf die Festplatte

F.fileno( )

#Gibt eine lange Ganzzahl „Dateibezeichnung“ zurück

F.isatty()

#Ob es sich bei der Datei um eine Terminalgerätedatei handelt (in Unix-Systemen). )

F.tell()

#Gibt die aktuelle Position der Dateioperationsmarkierung zurück, mit dem Anfang der Datei als Ursprung

F.next()

#Gibt die nächste Zeile zurück und verschiebt das Dateioperationsflag in die nächste Zeile. Wenn eine Datei in einer Anweisung wie for ... in file verwendet wird, wird die Funktion next() aufgerufen, um die Traversierung zu implementieren.

F.seek(offset[,whence])

#Bewegen Sie die Dateioperationsmarkierung an die Offset-Position. Dieser Versatz wird im Allgemeinen relativ zum Dateianfang berechnet und ist im Allgemeinen eine positive Zahl. Dies ist jedoch nicht unbedingt der Fall, wenn der wherece-Parameter angegeben wird. wherece kann 0 sein, um die Berechnung von vorne zu beginnen, und 1, um die aktuelle Position als Ursprung zu verwenden. 2 gibt an, dass das Ende der Datei als Ausgangspunkt für die Berechnung verwendet wird. Es ist zu beachten, dass beim Öffnen der Datei im Modus a oder a die Dateioperationsmarkierung bei jedem Schreibvorgang automatisch zum Ende der Datei zurückkehrt.

F.truncate([size])

#Schneiden Sie die Datei auf die angegebene Größe. Standardmäßig wird auf die Position der aktuellen Dateioperationsmarkierung geschnitten. Wenn die Größe größer als die Dateigröße ist, wird die Datei je nach System möglicherweise nicht geändert, die Datei wird möglicherweise mit 0 auf die entsprechende Größe aufgefüllt oder es werden zufällige Inhalte hinzugefügt.


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
4 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)

Muss MySQL bezahlen? Muss MySQL bezahlen? Apr 08, 2025 pm 05:36 PM

MySQL hat eine kostenlose Community -Version und eine kostenpflichtige Enterprise -Version. Die Community -Version kann kostenlos verwendet und geändert werden, die Unterstützung ist jedoch begrenzt und für Anwendungen mit geringen Stabilitätsanforderungen und starken technischen Funktionen geeignet. Die Enterprise Edition bietet umfassende kommerzielle Unterstützung für Anwendungen, die eine stabile, zuverlässige Hochleistungsdatenbank erfordern und bereit sind, Unterstützung zu bezahlen. Zu den Faktoren, die bei der Auswahl einer Version berücksichtigt werden, gehören Kritikalität, Budgetierung und technische Fähigkeiten von Anwendungen. Es gibt keine perfekte Option, nur die am besten geeignete Option, und Sie müssen die spezifische Situation sorgfältig auswählen.

So verwenden Sie MySQL nach der Installation So verwenden Sie MySQL nach der Installation Apr 08, 2025 am 11:48 AM

Der Artikel führt den Betrieb der MySQL -Datenbank vor. Zunächst müssen Sie einen MySQL -Client wie MySQLworkBench oder Befehlszeilen -Client installieren. 1. Verwenden Sie den Befehl mySQL-uroot-P, um eine Verbindung zum Server herzustellen und sich mit dem Stammkonto-Passwort anzumelden. 2. Verwenden Sie die Erstellung von Createdatabase, um eine Datenbank zu erstellen, und verwenden Sie eine Datenbank aus. 3.. Verwenden Sie CreateTable, um eine Tabelle zu erstellen, Felder und Datentypen zu definieren. 4. Verwenden Sie InsertInto, um Daten einzulegen, Daten abzufragen, Daten nach Aktualisierung zu aktualisieren und Daten nach Löschen zu löschen. Nur indem Sie diese Schritte beherrschen, lernen, mit gemeinsamen Problemen umzugehen und die Datenbankleistung zu optimieren, können Sie MySQL effizient verwenden.

MySQL kann nach dem Herunterladen nicht installiert werden MySQL kann nach dem Herunterladen nicht installiert werden Apr 08, 2025 am 11:24 AM

Die Hauptgründe für den Fehler bei MySQL -Installationsfehlern sind: 1. Erlaubnisprobleme, Sie müssen als Administrator ausgeführt oder den Sudo -Befehl verwenden. 2. Die Abhängigkeiten fehlen, und Sie müssen relevante Entwicklungspakete installieren. 3. Portkonflikte müssen Sie das Programm schließen, das Port 3306 einnimmt, oder die Konfigurationsdatei ändern. 4. Das Installationspaket ist beschädigt. Sie müssen die Integrität herunterladen und überprüfen. 5. Die Umgebungsvariable ist falsch konfiguriert und die Umgebungsvariablen müssen korrekt entsprechend dem Betriebssystem konfiguriert werden. Lösen Sie diese Probleme und überprüfen Sie jeden Schritt sorgfältig, um MySQL erfolgreich zu installieren.

Die MySQL -Download -Datei ist beschädigt und kann nicht installiert werden. Reparaturlösung Die MySQL -Download -Datei ist beschädigt und kann nicht installiert werden. Reparaturlösung Apr 08, 2025 am 11:21 AM

Die MySQL -Download -Datei ist beschädigt. Was soll ich tun? Wenn Sie MySQL herunterladen, können Sie die Korruption der Datei begegnen. Es ist heutzutage wirklich nicht einfach! In diesem Artikel wird darüber gesprochen, wie dieses Problem gelöst werden kann, damit jeder Umwege vermeiden kann. Nach dem Lesen können Sie nicht nur das beschädigte MySQL -Installationspaket reparieren, sondern auch ein tieferes Verständnis des Download- und Installationsprozesses haben, um zu vermeiden, dass Sie in Zukunft stecken bleiben. Lassen Sie uns zunächst darüber sprechen, warum das Herunterladen von Dateien beschädigt wird. Dafür gibt es viele Gründe. Netzwerkprobleme sind der Schuldige. Unterbrechung des Download -Prozesses und der Instabilität im Netzwerk kann zu einer Korruption von Dateien führen. Es gibt auch das Problem mit der Download -Quelle selbst. Die Serverdatei selbst ist gebrochen und natürlich auch unterbrochen, wenn Sie sie herunterladen. Darüber hinaus kann das übermäßige "leidenschaftliche" Scannen einer Antiviren -Software auch zu einer Beschädigung von Dateien führen. Diagnoseproblem: Stellen Sie fest, ob die Datei wirklich beschädigt ist

Wie optimieren Sie die MySQL-Leistung für Hochlastanwendungen? Wie optimieren Sie die MySQL-Leistung für Hochlastanwendungen? Apr 08, 2025 pm 06:03 PM

Die MySQL-Datenbankleistung Optimierungshandbuch In ressourcenintensiven Anwendungen spielt die MySQL-Datenbank eine entscheidende Rolle und ist für die Verwaltung massiver Transaktionen verantwortlich. Mit der Erweiterung der Anwendung werden jedoch die Datenbankleistung Engpässe häufig zu einer Einschränkung. In diesem Artikel werden eine Reihe effektiver Strategien zur Leistungsoptimierung von MySQL -Leistung untersucht, um sicherzustellen, dass Ihre Anwendung unter hohen Lasten effizient und reaktionsschnell bleibt. Wir werden tatsächliche Fälle kombinieren, um eingehende Schlüsseltechnologien wie Indexierung, Abfrageoptimierung, Datenbankdesign und Caching zu erklären. 1. Das Design der Datenbankarchitektur und die optimierte Datenbankarchitektur sind der Eckpfeiler der MySQL -Leistungsoptimierung. Hier sind einige Kernprinzipien: Die Auswahl des richtigen Datentyps und die Auswahl des kleinsten Datentyps, der den Anforderungen entspricht, kann nicht nur Speicherplatz speichern, sondern auch die Datenverarbeitungsgeschwindigkeit verbessern.

So optimieren Sie die Datenbankleistung nach der MySQL -Installation So optimieren Sie die Datenbankleistung nach der MySQL -Installation Apr 08, 2025 am 11:36 AM

Die MySQL -Leistungsoptimierung muss von drei Aspekten beginnen: Installationskonfiguration, Indexierung und Abfrageoptimierung, Überwachung und Abstimmung. 1. Nach der Installation müssen Sie die my.cnf -Datei entsprechend der Serverkonfiguration anpassen, z. 2. Erstellen Sie einen geeigneten Index, um übermäßige Indizes zu vermeiden und Abfrageanweisungen zu optimieren, z. B. den Befehl Erklärung zur Analyse des Ausführungsplans; 3. Verwenden Sie das eigene Überwachungstool von MySQL (ShowProcessList, Showstatus), um die Datenbankgesundheit zu überwachen und die Datenbank regelmäßig zu sichern und zu organisieren. Nur durch kontinuierliche Optimierung dieser Schritte kann die Leistung der MySQL -Datenbank verbessert werden.

Braucht MySQL das Internet? Braucht MySQL das Internet? Apr 08, 2025 pm 02:18 PM

MySQL kann ohne Netzwerkverbindungen für die grundlegende Datenspeicherung und -verwaltung ausgeführt werden. Für die Interaktion mit anderen Systemen, Remotezugriff oder Verwendung erweiterte Funktionen wie Replikation und Clustering ist jedoch eine Netzwerkverbindung erforderlich. Darüber hinaus sind Sicherheitsmaßnahmen (wie Firewalls), Leistungsoptimierung (Wählen Sie die richtige Netzwerkverbindung) und die Datensicherung für die Verbindung zum Internet von entscheidender Bedeutung.

Navicat -Methode zum Anzeigen von MongoDB -Datenbankkennwort Navicat -Methode zum Anzeigen von MongoDB -Datenbankkennwort Apr 08, 2025 pm 09:39 PM

Es ist unmöglich, das MongoDB -Passwort direkt über Navicat anzuzeigen, da es als Hash -Werte gespeichert ist. So rufen Sie verlorene Passwörter ab: 1. Passwörter zurücksetzen; 2. Überprüfen Sie die Konfigurationsdateien (können Hash -Werte enthalten). 3. Überprüfen Sie Codes (May Hardcode -Passwörter).

See all articles