2
私は以下のような文字列を取り、最初のパラメータ(id
)を取り出して、それを印刷するために使用したいと考えています。私はPythonの分割を検討してきましたが、通常は何かを得る前に2〜3回分割する必要があります。ここでPythonでsqlクエリを解析する
は、私が解析しようとしている文字列の例です:
EntryError(u"(sqlite3.IntegrityError) UNIQUE constraint failed:
role.name, role.domain_id [SQL: u'INSERT INTO table1 (id, name,
domain_id, extra) VALUES (?, ?, ?, ?)'] [parameters: ('id',
'fake1name', '<<null>>', '{}')]",)
私のような事をしようとしています
e = e.split("\'")
e = e.split(",")
しかし、これは私に、さらに解析する必要があり奇妙な文字列を与えます。 id
を"[parameters: ('id', 'fake1name', '<<null>>', '{}')]"
から引き出す簡単な方法はありますか?
は、ここで私が持っているコードです:
except exception.EntryError as e:
query = str(e)
# example of me using split to try and reduce the string
parsedstr = query.split("[")
parsedstr = parsedstr.split("\'")
# This will give me id like I want but it doesn't seem efficient
# prints: id
print parsedstr[1]
残りのコードを表示できますか?カーソルまたは例外インスタンス自体に実際にアクセスできますか?ありがとう。 – alecxe
@alecxeが追加されました: – ayonpyth
どの文字列を解析しようとしていますか?上のEntryErrorオブジェクトのメッセージを実際に解析しようとしていますか? –