#?-*-?編碼:?utf-8?-*-
def?解析(文本):
結果?=?[]
進口?關於
r1?=?re.compile(r'\s*(/[^\s]+)\s+facetracking\s+\{([^\}]*)\}\s+\(([^\)]*)\)')
r2?=?re.compile(r'\s*fd_face\s+\(([^\)]*)\)')
pos?=?0
什麽時候?真實:
m?=?r1.match(text[pos:])
如果?不是嗎?男:
破裂
數據?=?{}
數據['源']?=?m.group(1)
鑰匙?=?m組(2)。拆分(',')
價值觀?=?m組(3)。拆分(',')
attrs?=?dict(map(lambda?x,y:[x,y],?鑰匙?價值觀))
數據更新(屬性)
pos?+=?m.end()
臉?=?[]
為了什麽?x?在?range(int(data['FaceNumber']):
m?=?r2.match(text[pos:])
如果?不是嗎?男:
破裂
face.append(m.group(1)。拆分(','))
pos?+=?m.end()
數據['FD_Face']?=?臉
結果.追加(數據)
回歸?結果
def?main(輸入文件,?輸出文件):
f?=?打開(輸入文件,?r’)
文字?=?閱讀()
f.close()
結果?=?解析(文本)
buff?=?[]
為了什麽?數據?在?結果:
buff.append('miFileIndex:?{miFileIndex}”。格式(* *數據))
buff.append('來源:?{source}”。格式(* *數據))
buff.append('FaceNumber:?{FaceNumber}”。格式(* *數據))
我?=?0
為了什麽?臉?在?數據['FD_Face']:
我?+=?1
buff.append('Face{0}:?({1})'.格式(我,?','.加入(臉)))
buff.append(' ')
f?=?打開(輸出文件,?w’)
f.write("\n "。加入(buff))
f .沖洗()
f.close()
如果?__name__?==?__main__ ':
進口?[計]系統復制命令(system的簡寫)
如果?len(sys.argv)?==?3:
main(sys.argv[1],?sys.argv[2])