Duell der Datenbanken: In einem Shootout messen sich MySQL und PostgreSQL. Der Schwerpunkt vom ADMIN 06/2011 überprüft, wer schneller ist und gibt einen ... (mehr)

Regulär

Auch Regular Expressions für die Verarbeitung von Strings gehören zur Standardausstattung einer Python-Installation. Nach dem Importieren des dazugehörigen Moduls stehen Methoden wie »search()« und »match()« zur Verfügung. Der Unterschied besteht darin, dass Match nur am Anfang eines Strings nachsieht, sein Pendant Search aber den ganzen String durchsucht. Die Anwendung sieht etwa so aus:

import re
s = "Regulär ausgedrückt"
m = re.search('(Reg.*) ', s)
m.group(0)
'Regul\xc3\xa4r '
print m.group(0)
Regulär

Wie man sieht, funktioniert das auch mit Umlauten, allerdings muss man dabei auf die richtige Zeichen-Codierung achten. Aktuelle Python-Versionen können mit UTF-8 umgehen, manchmal ist es aber erforderlich, Strings erst in die richtige Codierung zu wandeln, etwa mit der »unicode()« -Methode. Mehr dazu verrät das Python-Unicode-Howto. Das Encoding einer Python-Quelldatei lässt sich festlegen, indem man in der ersten Zeile (nach dem Aufruf des Interpreters) einen Kommentar in folgendem Format schreibt: »# encoding: utf-8« .

Datenbanken

Für den Zugriff auf relationale Datenbanken bietet Python ein mehr oder weniger standardisiertes Interface über die DB-API 2.0 an, etwa für die Standards MySQL, PostgreSQL oder SQLite. Ein Beispiel für SQLite ist in Listing 3 zu sehen.

Listing 3

Zugriff auf SQLite

 

Die meisten Statements dürften sich für alle diejenigen selbst erklären, die schon einmal mit einer SQL-Datenbank gearbeitet haben. Interessant ist die Verwendung sogenannter Prepared Statements, vor allem beim Insert in Zeile 12. Insbesondere bei Webanwendungen ist dies ein Gegenmittel gegen SQL-Injections. Die Argumente sind in eine Tupel-Datenstruktur zu verpacken, was bei einem Tupel mit nur einem Element zu der etwas eigentümlichen Schreibweise mit einem abschließenden Komma führt.

Ähnliche Artikel

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023