Python変数値遷移量
今日pythonで多くのフィールドがあるプロファイルを読み込みます.プロファイルのフォーマットは似ています.
一般的に考えられるのは、
こんなに多くのフィールドを一つ一つ設定するのは疲れているので、pythonが文字列keyを直接変数の関数として考えているのは自然です:vars()
この煩雑な問題が解決した後、残りは「:」の位置を取って文字列を切り取ると、このスライス演算が登場します.
完全なcode:
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('
')
完全なcode:
try:
config = open("testConfig.ini", 'r')
for item in config:
idx = item.index(':')
fname = item[:idx]
vars()[fname] = item[(idx + 1):].strip('
')
config.close()
except FileExistsError:
//do something
except FileNotFoundError:
//do something
except:
print('Open config file error:'+ sys.exc_info()[0])
finally:
//do something