korumak, şu dizeyi bölmek istediğinizPython:</p> <pre><code>a=foo, b=bar, c="foo, bar", d=false, e="false" </code></pre> <p>Bu aşağıdaki listede yol açmalıdır: bir dize, saygı Split ve piton kullanma tırnak
['a=foo', 'b=bar', 'c="foo, bar"', 'd=false', 'e="false'"']
yılında shlex kullanarak posix modu ve c
için argüman "," ile bölme doğru olarak ele alınır. Ancak, teklifleri kaldırır. Onlara ihtiyacım var çünkü false
, "false"
ile aynı değildir. Bugüne kadar
Kodum:
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']
Tekliflerin içinde tırnak işaretleri var mı? –
Evet, onlar (bir ters eğik çizgi ile kaçtı). – Remo
Bunun, daha iyi bir yanıt sağlayan bir http://stackoverflow.com/a/79985/1540600 kopyası olduğunu düşünüyorum. (Shlex.split() 'işlevini kullanın.) – sferencik