1. 07-01-29.非常非常初级的小程序--SQL分析

stephen chan <[email protected]>

  • 是这样的,我想用python把一段sql中的数据字段名还有字段类型长度等给抽取出来然后写在一个空的txt或者tex格式的文本里,可是程序有错误,感觉不是我想要的,首先我想把sql文本中没有含有括号"("和")"的整行去除,抽取出"("")"内的数据,然后进行数据处理,用limodou的ulipad不好调试,郁闷死我了,可否帮我看看这段程序错在哪?非常短

   1 #Write DD Document from SQL,Small Script Just test.
   2 file1r=open("E:\JGGZ_Table_script.sql","r")   #读文件1内容
   3 file1w=open("E:\JGGZ_Table_script_dd.tex","w") #写入文件2,文件2是自己创建的,初为空
   4 i=0
   5 for line in file1r.readlines():
   6     if not(line.find("(") | line.find(")")):
   7         line=''
   8     else:
   9         pass
  10     i+=1
  11     print i,
  12     print ".",
  13     print line
  14 file1r.close()
  15 file1w.close()

1.1. Zoomq 快速重构

  • 从简单之处进行处理

   1 # file sqlanalyzer.py
   2 # @brief        把一段sql中的数据字段名还有字段类型长度等给抽取出来然后写在一个空的txt或者tex格式的文本里
   3 # @version 0.1  stephen chan <[email protected]>
   4 # @version 0.2  Zoom.Quiet debug
   5 # @author Zoom Quiet 
   6 # @attention    Released under GNU Lesser GPL library license
   7 import sys, os
   8 
   9 fr="JGGZ_Table_script.sql"   #读文件1内容
  10 fw="JGGZ_Table_script_dd.txt"#写入文件2,文件2是自己创建的,初为空
  11 exp = ""
  12 i=0
  13 for line in open(fr).readlines():
  14     i+=1
  15     if "  "==line[:2] and "CONSTRAINT" not in line and "REFERENCES" not in line and "PRIMARY" not in line:
  16         print line
  17         exp+= line
  18     else:
  19         print i,".",line
  20 open(fw,"w").write(exp)