高爾夫 - 實現簡單的模板方案。高爾夫 - 在文本文件中展開模板
展開包括:
- %KEY% - > VALUE
- %% - >%
的命令行參數:
- ARG1:字典文件,在格式化樣例中的
key=value
樣式 - ARG2:templ吃的文件
在這裏我不是很高爾夫的嘗試(python):261個字符。
import sys
dd = dict([ll.split("=",2) for ll in open(sys.argv[1],'r') if len(ll.split("=", 2)) == 2])
tt = "".join([ ll for ll in open(sys.argv[2],'r')])
sys.stdout.write("".join([(((s == "") and "%") or ((s in dd) and dd[s]) or s) for s in tt.split("%")]))
DICT
NAME=MyName
ODDS=100
模板
I, %NAME% am %ODDS% %% sure that that this a waste of time.
結果
I, My Name am 100 % sure that this is a waste of time.
是的,我意識到這是一個有缺陷的模板系統, 「卡」 在更短的和更好實現。
+1尼斯,我正要張貼類似的東西 – 2009-04-13 17:36:35