Sorry, Bild fehlt

IT Wissenssplitter

Sherlock und Desiderat

Sorry, Bild fehlt

PYTHON - Sherlocks Spickzettel zu Python 3.X


Bücher, die geholfen haben...

Einstieg in Python - von Thomas Theis
5. Auflage - Rheinwerk Computing / Rheinwerk Verlag GmbH
ISBN 978-3-8362-4525-8

Python 3 - von Johannes Ernesti, Peter Kaiser
6. aktualisierte Auflage 2020, 2. korrigierter Nachdruck 2021
Rheinwerk Computing / Rheinwerk Verlag
ISBN 978-3-8362-7926-0

Python - Der Grundkurs - von Michael Kofler
1. Auflage 2019
Rheinwerk Computing / Rheinwerk Verlag
ISBN 978-3-8362-6679-6

Python - GE-PACKT - von Michael Weigend
6. Auflage 2015
Rheinwerk Computing / Rheinwerk Verlag
ISBN 978-3-8226-8726-6

Raspberry Pi programmieren mit Python - von Michael Weigend
3. Auflage - mitp Verlag
ISBN 978-3-95845-429-3

Quellen im Internet

Dokumentationen im Internet

https://docs.python.org/3/
https://www.python-kurs.eu/python3_kurs.php
https://openbook.rheinwerk-verlag.de/python/


Arbeiten mit Strings (Zeichenketten)

Abschnitt eines Strings (einer Zeichenkette)

zeichenkette = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"

# Erstes Zeichen bis ...
abschnittAnfang = zeichenkette[:3]
# Ergebnis = ABC

# Abschnitt einer Zeichenkette, gezählt vom Anfang
#
abschnittMitte = zeichenkette[3:7]
# Ergebnis = DEFG

# Abschnitt einer Zeichenkett vom Ende gezählt
#
abschnittMitteZwei = zeichenkette[-14:-6]
# Ergebnis = MNOPQRST

# Abschnitt von Zeichen ab angegebener Position bis zum letzten Zeichen
#
abschnittEnde = zeichenkette[16:]
# Ergebnis = QRSTUVWXYZ

Länge einer Zeichenkette

zeichenkette = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
laenge = len(zeichenkette)
print("Die Länge der Zeichenkette ist: ", laenge)

Suchen in einem String / in einer anderen Zeichenkette

zeichenkette = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
print(zeichenkette.find("JKL"))
# Ergebnis = 9

print(zeichenkette.find("JLK"))
# Ergebnis = -1

Zeichenkette am bestimmten Zeichen zerlegen

zeichenkette = "abc;def;ghi"
segmente = zeichenkette.split(";")

if len(segmente) > 0:
    n = 0
    while n < len(segmente):
        print("N: " + str(n) , segmente[n])
        n = n + 1

Veränderbare Liste

Leere Liste anlegen

leere_liste = []

Element an Liste anhängen

# neue leere Liste anlegen
neue_liste = []

# Ein neues Element anhängen
neue_liste.append(1)

# noch ein Element anhängen
neue_liste.append("Test")

Liste gleich mit mehreren Elementen anlegen

liste_eins = [1, 2, 3]
liste_zwei = ["a","b","c"]
liste_drei = [1,"z",5]

Element aus Liste entfernen

# listenname.pop(n) entfernt das Element n aus der Liste und gibt dieses zurück

liste_vier = [2,"a","Ende"]
entferntes_element = liste_vier.pop(0)
print(entferntes_element)

# gibt 2 zurück


Verzweigung und Schleife

Verzweigung: Wenn, dann ...

n = 1

if n==1:
    print("n hat den Wert 1)
else:
    print("n hat nicht den Wert 1")

Eine WHILE-Schleife

n = 1

while n < 5:
    print("N: ", n)
    n = n + 1

Verzeichnisse und Dateien

Einen Pfad zuweisen (hier unter dem Betriebssystem LINUX)

pfad = "\\home\\pi"
oder einfacher
pfad = r"\home\pi"

Einen Pfad und einen Dateinamen zusammensetzen

import os

pfad = "\\home\\pi\\Projekte\\Python"
dateiname = "test.txt"
pfadUndDateiname = os.path.join(pfad, dateiname)

Prüfen, ob eine bestimmte Datei existiert und Reaktion darauf, wenn das nicht der Fall ist

Empfohlene Links:
https://www.tutorialspoint.com/python/tk_messagebox.htm
https://docs.python.org/3.9/library/tkinter.messagebox.html
https://docs.python.org/3/library/sys.html

import os
from tkinter import messagebox

if not os.path.exists(pfadUndDateiname):
    messagebox.showerror("Fehler","Die Datei ist nicht vorhanden.")
    # gegebenenfalls alles beenden
    sys.exit(1)

Datei kopieren

import shutil

shutil.copy(pfadUndDateinameQuelle,pfadUndDateinameZiel)

Datei umbenennen

import os

os.rename(pfadUndDateinameQuelle,pfadUndDateinameZiel)

Datei löschen

Empfohlener Link:
https://www.w3schools.com/python/python_file_remove.asp

import os

os.remove("textdatei.txt")

Eine Datei schreiben

text = "Das ist ein Text"
pfadUndDateiname = r"\home\pi\Projekte\Python\test.txt"

try:
    fileobjektTextdatei = open(pfadUndDateiname, "a", encoding="utf-8")
    # a = anhängen
    # w = vorhandene Datei wird überschrieben
    # mit encoding kann eine bestimmte Kodierung aktiviert werden, hier utf-8
    
    fileobjektTextdatei.write(text + "\n")
        
except Exception as fehler:
    messagebox.showerror("Fehler","Fehler beim Öffnen / Schreiben der Datei\n\n" + fehler)
        
finally:
    if not fileobjektTextdatei.closed:
        fileobjektTextdatei.close()

Datei lesen

pfadUndDateiname = r"\home\pi\Projekte\Python\test.txt"

try:
    fileobjektDateiLesen = open(pfadUndDateiname, "r")
    #
    weitereZeile = True
    while weitereZeile:
        zeile = fileobjektDateiLesen.readline()
        if zeile == "":
            weitereZeile = False
        else:
            print(zeile)
    fileobjektDateiLesen.close()
except Exception as fehler:
        print("************\nFehler: \n\n", fehler)

XML

XML

Empfohlene Links:
https://docs.python.org/3/library/xml.etree.elementtree.html
https://www.delftstack.com/de/howto/python/python-xml-parser/