Python: Teile einen String, respektiere und behalte Anführungszeichen [duplizieren]

Diese Frage hat hier bereits eine Antwort:

Teilen Sie eine Zeichenfolge in Python durch Leerzeichen auf, wobei Teilzeichenfolgen in Anführungszeichen beibehalten werden 16 Antworten

Mit Python möchte ich die folgende Zeichenfolge teilen:

a=foo, b=bar, c="foo, bar", d=false, e="false"

Dies sollte zu der folgenden Liste führen:

['a=foo', 'b=bar', 'c="foo, bar"', 'd=false', 'e="false'"']

Bei Verwendung von shlex im Posix-Modus und Teilen mit "," wird das Argument fürcwird richtig behandelt. Es werden jedoch die Anführungszeichen entfernt. Ich brauche sie weilfalse ist nicht dasselbe wie"false", zum Beispiel.

Mein Code bisher:

import shlex

mystring = 'a=foo, b=bar, c="foo, bar", d=false, e="false"'

splitter = shlex.shlex(mystring, posix=True)
splitter.whitespace += ','
splitter.whitespace_split = True
print list(splitter) # ['a=foo', 'b=bar', 'c=foo, bar', 'd=false', 'e=false']

Antworten auf die Frage(2)

Ihre Antwort auf die Frage