和perl不一样,perl是可以的,想了下确实不可以,因为这样的话无法知道是数组的数组,还是哈希的哈希,我一直用perl的技巧在python上使用,看来这个需要转变下
#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
h=dict()
fd=open('urfile','r')
for line in fd:
flag=0
m=re.match('\[(\w+)\]',line)
if m:
outer_key=m.group(1)
h=dict()
elif flag==0:
m=re.match('(.*)=(.*)',line)
if m:
h=m.group(2)
print h
fd.close() 回复 12# Buring__
是的 这样是可以的,python不能直接hash[][]的形式来赋值
问题应该出在这里hash=matchobj.group(2)
for之前 hash = {}
hash[“XXX”]都没有赋值,hash["XXX"]["YYY"]当然会报错了
回复 14# shreychen
在python是不允许的,但是在perl是可以的,我是按perl的习惯来的。
字典不存在二维的说法,说以dit1=["A"]={"B":"test"}这样追加才行
页:
1
[2]