-2
從文件中提取行的最佳方式是什麼(前行是:-user <username> -id <userid> -sub <subname>
)。但長度線可能會隨着-user,-id,-sub等額外屬性而變化。什麼是從Python中提取行的最佳方式
輸出應該是: -
{
"user" : username
"id" : userid
"sub" : subname
}
從文件中提取行的最佳方式是什麼(前行是:-user <username> -id <userid> -sub <subname>
)。但長度線可能會隨着-user,-id,-sub等額外屬性而變化。什麼是從Python中提取行的最佳方式
輸出應該是: -
{
"user" : username
"id" : userid
"sub" : subname
}
我不使用JSON
這一點。我已經硬編碼了引號和冒號
import re
arr = re.findall("-(.*?)<(.*?)>", "-user <username> -id <userid> -sub <subname>")
for x in arr:
print "\"" + x[0].strip() + "\" : ", x[1].strip()
>>>import re
>>> print("{\n"+re.sub(r'-(\w+)\s*([^-]+)\s*', r'"\1": "\2",\n', "-user <username> -id <userid> -sub <subname>").strip('[\n,]')+"\n}")
{
"user": "<username> ",
"id": "<userid> ",
"sub": "<subname>"
}
>>>
什麼
最佳方式嗎?你可以用一些字符串拆分來做到這一點 –
@SergioTulentsev是的我可以通過字符串拆分來完成。這些屬性可能會有所不同。你認爲字符串分割比正則表達式更快嗎? –
我不知道,它需要測量。而且,在大多數情況下,代碼的可維護性比原始性能更重要。非平凡的正則表達式比字符串分割更難掌握。 –