python變數值 Python變數值轉變量

2021-10-11 12:04:00 字數 967 閱讀 5384

今天用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

Python交換變數值

平時時不時會面面實習生,大多數的同學在學校裡都已經掌握了python。面試的時候要求同學們實現乙個簡單的函式,交換兩個變數的值,大多數的同學給出的都是如下的答案 def swap x,y tmp x x y y tmp實際上,python中還有更簡潔的更具python風格的實現,如下 def swa...

python學習day13(交換變數值)

需求 有變數a,b交換變數 方法一 借助第三方變數 a 10b 20c 0c a a bb c print f a b a 20,b 10 方法二 利用拆包進行 a,b 1,2a,b b,a print f a b a 2,b 1我麼可以用id 來判斷兩個變數是否為同乙個值的引用,我們可以將id值理...

Makefile列印變數值

makefile第二講 列印出內容和使用變數 摘要 echo 開始生成最終執行檔案,請稍候.這一句便是將一條資訊輸出到終端,為何前邊有個 符號呢?有了這個符號該命令本身就不會輸出到終端 不理解,自己去掉或者加上 符號試試 實驗證明,字串可以不加引號。看到 objs main.o 了嗎?這就是變數的定...