Studie aus Python Hour9: Lesen und Schreiben von Dateien
- Als ich versuchte, etwas mit Python zu tun, suchte ich zuerst nach einem Beispielskript und führte es irgendwie aus.
- 7 Stunden Ich möchte die REST-API mit automatischer Ausführung aufrufen, das Ergebnis überprüfen und sogar die VM betreiben
- Wenn Sie darüber nachdenken, wird es 10 Mal über 7 Stunden sein.
- Diesmal lesen und schreiben Sie Dateien. Es scheint möglich zu sein, CSV- und JSON-Dateien zu verarbeiten
Lernmaterialien
- Lernen Sie die Grundlagen in nur einem Tag! Python super Einführung
- https://a.r10.to/hbHMiv
Frühere Beiträge
Umgebung
- Windows
- Python Ver3-Serie
Das Lesen und Schreiben von Dateien ist dasselbe wie bei einem Texteditor! Das ist wichtig
- Dies ist für jede Programmiersprache gleich, aber das Lesen und Schreiben von Dateien ist wie folgt
- Öffnen Sie die Datei
- Lesen und schreiben
- Schließen Sie die Datei
- Geben Sie den Öffnungs- und Öffnungsmodus (Lesen (r), Anhängen (a), Überschreiben (w)) mit der Öffnungsfunktion an.
- Lesen und Schreiben mit der Lesemethode usw.
- Schließen Sie mit der Methode close
Lesen Sie eine Textdatei
- Lesen Sie eine Textdatei
- Wenn Sie normalerweise einen Texteditor auf Ihrem Computer verwenden, wird beim Öffnen einer Datei mit dem Menü "Öffnen" der Inhalt der Datei auf dem Bildschirm angezeigt. In Python können Sie sie jedoch mit der Öffnungsfunktion öffnen.
- Sie erhalten ein "Dateiobjekt", wenn Sie es mit der Öffnungsfunktion öffnen.
Versuchen Sie, die Datei zu öffnen
- Sehen Sie sich den Prozess im interaktiven Modus an
C:\script>python
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> fin = open('aaa.txt', 'r')#aaa mit offener Funktion.Öffnen Sie txt im Lesemodus. fin ist ein Dateiobjekt
>>> print(fin)
<_io.TextIOWrapper name='aaa.txt' mode='r' encoding='cp932'>
>>>
>>> #Wenn Sie ein Objekt drucken, den Namen und den Modus der geladenen Datei(r)Wird angezeigt. * Der Inhalt wird nicht angezeigt
- Liest ein Dateiobjekt namens fin.
Versuchen Sie, den Inhalt der Datei zu lesen
C:\script>python
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> fin = open('aaa.txt', 'r')
>>> print(fin)
<_io.TextIOWrapper name='aaa.txt' mode='r' encoding='cp932'>
>>>
>>> text = fin.read() #Lesen Sie den gesamten Inhalt der Datei mit der Lesemethode
>>> print(text)
aaa
bbb
ccc
>>>
Schließen Sie, wenn Sie fertig sind
C:\script>python
Python 3.8.0 (tags/v3.8.0:fa919fd, Oct 14 2019, 19:37:50) [MSC v.1916 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> fin = open('aaa.txt', 'r')
>>> print(fin)
<_io.TextIOWrapper name='aaa.txt' mode='r' encoding='cp932'>
>>>
>>> text = fin.read()
>>> print(text)
aaa
bbb
ccc
>>>fin.close() #Wenn Sie es nicht schließen, werden weiterhin Betriebssystemressourcen verwendet
>>>
Zur Datei hinzufügen
- Versuchen Sie, die Datei auf die gleiche Weise hinzuzufügen.
>>> fadd = open('aaa.txt', 'a') #Im Anhänge-Modus öffnen
>>> fadd.write('write add text\n') #Text hinzufügen
>>> fadd.close() #Datei schließen
>>>
>>>
>>>
>>> fin = open('aaa.txt', 'r') #Sehen Sie sich den Inhalt der Datei wie am Anfang an
>>> text = fin.read()
>>> print(text)
aaa
bbb
ccc
write add text #Sie können sehen, dass es hinzugefügt wurde
>>>
Benutzereingaben verwenden
- Argumente, wenn das Programm in der Befehlszeile ausgeführt wird, der Benutzer zur Eingabe in der Mitte des Programms aufgefordert wird und die Werte verwendet werden.
Eingabe durch Argument
C:\script>test50_print_arg.py hogeo hoge2 #Wenn Sie zwei Argumente übergeben
['C:\\script\\test50_print_arg.py', 'hogeo', 'hoge2'] #Kann während des Programms verwendet werden
C:\script>
Inhalt des ausgeführten Skripts
import sys
print(sys.argv) #Es ist ein Programm, das nur Argumente ausgibt
Lesen Sie die Datei mit Befehlszeilenargumenten
- Im Allgemeinen sind variable Dinge wie Dateinamen nicht vielseitig, um direkt in den Code zu schreiben. Übergeben wir sie daher als Argument
Skript zum Lesen der durch das Argument angegebenen Datei
import sys
fin = open(sys.arg[1], 'r')
print(fin.read())
fin.close()
Ausführungsergebnis
C:\script>test51_print_argfiles.py aaa.txt
aaa.txt
aaa
bbb
cccwrite add text
- In diesem Fall wird die Verarbeitung angehalten, wenn ein ungültiges Argument vorliegt. Behandeln wir also den Fehler im Programm, der als Argument übergeben werden soll.
- Lassen Sie uns die allgemeine Verarbeitung der Argumentprüfung einführen.
Skript zum Lesen der durch das Argument angegebenen Datei (mit Fehlerbehandlung)
import sys
if len(sys.argv) < 2: #Ein Argument zur Fehlerbehandlung (weniger als)
print ('Error!! Please input filename')
exit()
FILE_NAME = sys.argv[1]
fin = open(FILE_NAME, 'r')
print(fin.read())
fin.close()
Ausführungsergebnis
C:\script>test52_print_argfiles2 ー.py
Error!! Please input filename #Es ist besser als Pythons anorganischer Fehler.
C:\script>test52_print_argfiles2 ー.py aaa.txt
aaa
bbb
C:\script>
Eingabeaufforderung zur Eingabe in der Mitte des Programms
- Wenn Sie die Eingabefunktion verwenden, werden Sie vom Programm zur Eingabe aufgefordert.
- Der Rückgabewert der Eingabefunktion kann als Zeichenfolge behandelt werden.
Geben Sie den Dateinamen ein und zeigen Sie den Inhalt der Datei an (Bitte speichern Sie in UTF-8 für Japanisch).
print('Phtyon Start!!')
file_name = input('Bitte geben Sie den Dateinamen ein. Feinnamen eingeben= ')
fin = open(file_name, 'r')
print(fin.read())
fin.close()
Ausführungsergebnis
C:\script>test53_input.py
Phtyon Start!!
Bitte geben Sie den Dateinamen ein. Feinnamen eingeben= aaa.txt
aaa
bbb
C:\script>
Diese Zusammenfassung
- Ich war immer mit Datei-E / A in jeder Sprache festgefahren, aber es war einfach zu handhaben. Das Programm ist das gleiche wie ein normaler Texteditor!
- Ich denke, es ist üblicher zu lesen und zu verarbeiten als zu schreiben, also hoffe ich, dass ich das tun kann.
- Wenn Sie sich hier kurz umschauen, ist dies der erste Schritt, um es zu meistern.
Für Zitate / Blitzgespräche
- Ein Programm mit einem hohen Freiheitsgrad, das Argumente und Benutzereingaben enthält, erfordert eine Fehlerbehandlung. schwer