<p>尝试了论坛上所有可用的方法,但不知怎么的,没有一个是我正在寻找的解决方案。因此,作为一个初学者,通过下面的非正统的查找和替换方法来解决这个问题。如果有人有更好的解决方案,请张贴它,我想使用它。在</p>
<pre><code>api_map_complete = {api: {'config': {'AddressConfig': {'unit': 0, 'port_name': "my_name", 'address': "my address", 'family': 2}}}}
def dict_to_obj(mystr,flag):
global api_string
if re.search(':\(',mystr):
if flag % 2 == 0:
api_string=mystr.replace(":(","(",1)
flag=flag+1
else:
api_string=mystr.replace(":("," = (",1)
flag=flag+1
dict_to_obj(api_string,flag)
else:
mystr=mystr.replace(":"," = ")
mystr=mystr.replace(",",", ")
api_string=mystr
for combo in api_map_complete:
api_name=combo.keys()[0]
for k,v in combo.iteritems():
api_string=str(v)
api_string=api_string.replace("{","(")
api_string=api_string.replace("}",")")
api_string=api_string.replace(" ","")
api_string=api_string.replace(":'",":\"")
api_string=api_string.replace("',","\",")
api_string=api_string.replace("')","\")")
api_string=api_string.replace("'","")
dict_to_obj(api_string,1)
#print api_string
api_obj=api_name+api_string
print api_obj
</code></pre>