[Python-de] Strings, die " und ' enthalten

Bertram Scharpf b.scharpf at tesionmail.de
Mit Okt 6 18:17:34 CEST 2004


Hallo,

Am Mittwoch, 06. Okt 2004, 16:52:35 +0200 schrieb U. Bielz:
> Dieser Problemtitel lautet
> 
>     <<Early Polkas (1840-1846): "From The Student's Life">>
> 
> (spitze Klammern von mir). Er enthält also sowohl einfache als auch doppelte
> Anführungszeichen. Mein Versuch, daraus ein SQL-Statement zu bauen
> sieht wie folgt aus:
> 
>     sql = "insert into archiv (path, album, artist, title) values('%s', '%s', '%s', '%s')"
>     self.cursor.execute(sql % (path, album, artist, title))

Ich weiß nicht, was SQL versteht, aber in Python macht man
das normalerweise mit `repr':

    mystr = "'%s'" % title        # Deine Version
    mystr = "%s" % repr( title)
    mystr = "%s" % `title`
    mystr = "%r" % title

Alternativ wäre da noch eine Funktion `escape' im Modul
`re', die überall einen Rückstrich davorsetzt.

Das Verfahren steht und fällt natürlich damit, ob SQL
Rückstrich-escapte Zeichen annimmt.

Gruß
Bertram

-- 
Bertram Scharpf
Stuttgart, Deutschland/Germany
http://www.bertram-scharpf.de