Python變量值轉變量

今天用python讀取一個有很多字段的配置文件,配置文件中的格式類似:

pidStart:2600
startFid:47
startTid:450
startFirst:1
message:''

一般會想到的是:

config = open(configPath, 'r')
for item in config:
    //set value one by one


這麼多的字段一個個的設置太累,很自然就想到python將字符串key直接作爲變量的函數:vars()

>>>str = "abc"
>>>vars()[str] = "TEST"
>>>print(abc)
TEST

這個比較繁瑣的問題解決後,剩下的就是取":"的位置,再截取字符串,這時該切片運算上場了:

idx = item.index(':')
s = item[:idx]
vars()[s] = item[(idx+1):].strip('\n')


完整的code:

try:
    config = open("testConfig.ini", 'r')
    for item in config:
        idx = item.index(':')
        fname = item[:idx]
        vars()[fname] = item[(idx + 1):].strip('\n')
  config.close()
except FileExistsError:
  //do something
except FileNotFoundError:
  //do something
except:
  print('Open config file error:'+ sys.exc_info()[0])
finally:
  //do something


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章