3
SQL
文(CREATE TABLE
正確に)をpyparsing
を使って解析しようとしています。以下の入力の場合pyparsing:解析されたデータから結果を得る
def parse(self, sql):
try:
tokens = self.create_table_stmt.parseString(sql)
print tokens.database_name, tokens.table_name
values = tokens.database_name, tokens.table_name
print values
return values
except ParseException as error:
print error
::私も、この解析方法を使用しています
identifier = (Combine(Optional('"') + Word(alphanums) +
ZeroOrMore('_' + Word(alphanums)) +
Optional('"')) & ~keywords_set)
database_name = identifier.setResultsName('database_name')
table_name = identifier.setResultsName('table_name')
:私は取得
CreateTableParser().parse('''
CREATE TABLE "django"."django_site1" (
)''')
:
両方のデータベース名とテーブルテーブルのために私は、識別子を作成しています['"django"'] ['"django_site1"']
((['"django"'], {}), (['"django_site1"'], {}))
これはなぜですか違う?単純なリストのように最初の方法で出力を得るにはどうすればよいですか?私はそれらの値を印刷するときにしか得られません。
>>> a, b = "ab"
>>> a
'a'
>>> b
'b'
>>> print a, b
a b
>>> print (a, b)
('a', 'b')
print a, b
プリントオブジェクトa
とb
: