2017-04-19 3 views
1

は、私は変数と値を置換する文字列

'AttributeDefinitions': [{'AttributeName': 'Id','AttributeType': 'N'},{'AttributeName': 'orgId','AttributeType': 'S'}] 

'KeySchema': [{'AttributeName': 'orgId','KeyType': 'HASH'},{'AttributeName': 'Id','KeyType': 'RANGE'}] 

'ProvisionedThroughput': {'ReadCapacityUnits': 1,'WriteCapacityUnits': 1} 

を次欲しい、私は、次の方法を試してみましたが、それdidntの作業。

attribute_definition="'AttributeDefinitions': [{'AttributeName':"+hash_attribute_name+",'AttributeType':"+hash_attribute_type+"},{'AttributeName': "+range_attribute_name+",'AttributeType': "+range_attribute_type+"}]" 

key_schema="'KeySchema': [{'AttributeName': "+hash_attribute_name+",'KeyType': 'HASH'},{'AttributeName': "+hash_attribute_type+",'KeyType': 'RANGE'}]" 

capacity="'ProvisionedThroughput': {'ReadCapacityUnits': "+read_capacity+",'WriteCapacityUnits': "+write_capacity+"}" 

次に、以下のようなリストを作成しようとしました。

attribute_definition={'AttributeDefinitions': [{'AttributeName':hash_attribute_name,'AttributeType':hash_attribute_type},{'AttributeName': range_attribute_name,'AttributeType': range_attribute_type}]} 

key_schema={'KeySchema': [{'AttributeName': hash_attribute_name,'KeyType': 'HASH'},{'AttributeName': hash_attribute_type,'KeyType': 'RANGE'}]} 

capacity={'ProvisionedThroughput': {'ReadCapacityUnits': read_capacity,'WriteCapacityUnits': write_capacity} 

それは、次のthrowedエラー:ValueError: Expecting property name: line 1 column 2 (char 1)

I:print ("attribute_definition") ^ SyntaxError: invalid syntax

は、私は()json.loadsを使用してJSONにすぎ

attribute_definition=json.loads("{'AttributeDefinitions': [{'AttributeName':"+hash_attribute_name+",'AttributeType':"+hash_attribute_type+"},{'AttributeName': "+range_attribute_name+",'AttributeType': "+range_attribute_type+"}]}") 

key_schema=json.loads("{'KeySchema': [{'AttributeName': "+hash_attribute_name+",'KeyType': 'HASH'},{'AttributeName': "+hash_attribute_type+",'KeyType': 'RANGE'}]}") 

capacity=json.loads("{'ProvisionedThroughput': {'ReadCapacityUnits': "+read_capacity+",'WriteCapacityUnits': "+write_capacity+"}}") 

た次のエラーを文字列に変換しようとしましたこの文字列またはリストをcreate_table関数に渡して、テーブルを作成したいとします。

誰でも私がそれを達成する方法を教えてください。

答えて

0

json.dumpsを試しましたか?

>>> hash_attribute_name = 'Id' 
    >>> hash_attribute_type = 'N' 
    >>> range_attribute_name = 'orgId' 
    >>> range_attribute_type = 'S' 
    >>> attribute_definition={'AttributeDefinitions':[{'AttributeName':hash_attribute_name,'AttributeType':hash_attribute_type},{'AttributeName': range_attribute_name,'AttributeType': range_attribute_type}]} 
    >>> attribute_definition 
    {'AttributeDefinitions': [{'AttributeName': 'Id', 'AttributeType': 'N'}, {'AttributeName': 'orgId', 'AttributeType': 'S'}]} 
    >>> import json 
    >>> json.dumps(attribute_definition) 
    '{"AttributeDefinitions": [{"AttributeName": "Id", "AttributeType": "N"}, {"AttributeName": "orgId", "AttributeType": "S"}]}' 
+0

それでも動作しません。(それでもリストには変換されません。 –