= 07-01-29.非常非常初级的小程序--SQL分析 = `stephen chan ` * 是这样的,我想用python把一段sql中的数据字段名还有字段类型长度等给抽取出来然后写在一个空的txt或者tex格式的文本里,可是程序有错误,感觉不是我想要的,首先我想把sql文本中没有含有括号"("和")"的整行去除,抽取出"("")"内的数据,然后进行数据处理,用limodou的ulipad不好调试,郁闷死我了,可否帮我看看这段程序错在哪?非常短 {{{#!python #Write DD Document from SQL,Small Script Just test. file1r=open("E:\JGGZ_Table_script.sql","r") #读文件1内容 file1w=open("E:\JGGZ_Table_script_dd.tex","w") #写入文件2,文件2是自己创建的,初为空 i=0 for line in file1r.readlines(): if not(line.find("(") | line.find(")")): line='' else: pass i+=1 print i, print ".", print line file1r.close() file1w.close() }}} == Zoomq 快速重构 == * 从简单之处进行处理 {{{#!python # file sqlanalyzer.py # @brief 把一段sql中的数据字段名还有字段类型长度等给抽取出来然后写在一个空的txt或者tex格式的文本里 # @version 0.1 stephen chan # @version 0.2 Zoom.Quiet debug # @author Zoom Quiet # @attention Released under GNU Lesser GPL library license import sys, os fr="JGGZ_Table_script.sql" #读文件1内容 fw="JGGZ_Table_script_dd.txt"#写入文件2,文件2是自己创建的,初为空 exp = "" i=0 for line in open(fr).readlines(): i+=1 if " "==line[:2] and "CONSTRAINT" not in line and "REFERENCES" not in line and "PRIMARY" not in line: print line exp+= line else: print i,".",line open(fw,"w").write(exp) }}}