最近做postgresql文檔的時候,發(fā)現(xiàn)文檔里有一些是pg文檔特有的東西,我們需要對他進行去pg化, 相信國內很多公司也這樣做吧,為了不泄露公司相關信息,字典部分沒寫全或者用特殊符號代替了。 由于我是個初入門的pythoner所以發(fā)的代碼不是很高級,如果有高見請多多交流,不勝感激! 以下是腳本代碼: 1 #!/usr/bin/env python 2 #coding=utf-8 3 import sys 4 import re 5 import glob 6 import os.path 7 import argparse 8 import subprocess 9 10 source_root= '.'11 12 def sys_replace():13 dic_sys = {14 'pgpass': 'xxx' ,15 'PostgreSQL': '---' 16 17 }18 all_files2replace(dic_sys)19 def mis_replace():20 dic_sys = {21 'pgpass': 'xxx' ,22 'PostgreSQL': '---' ,23 all_files2replace(dic_sys) 24 def other_replace():25 dic_sys = {26 'pgAdmin':'xxx',27 'psql': '---' ,28 'PSQL':'***'29 }30 all_files2replace(dic_sys) 31 32 def all_files2replace(dic):33 files = os.listdir(source_root)34 for file_name in files:35 file_path =os.path.join(source_root,file_name)36 fn=open(file_path,'r')37 f=fn.read()38 fn.close()39 for i in dic.keys():40 f=re.sub(i, dic[i],f)41 fn=open(file_path,'w')42 fn.write(f)43 fn.close()44 45 def main():46 sys_replace()47 mis_replace()48 other_replace()49 if __name__ == '__main__':50 if len(sys.argv)<2:51 print '''缺少sgml文件所在文件的路徑參數(shù)!52 53 --version :顯示本工具信息。 54 --help :顯示幫組信息。 55 '''56 sys.exit()57 if sys.argv[1].startswith('--'):58 option=sys.argv[1][2:]59 if option == 'version':60 print '''61 版本v1.0。62 bug提交地址:278478993@qq.com63 '''64 elif option == 'help':65 print '''66 書寫格式:python <'腳本名'> <'sgml文件路徑'> 67 '''68 else:69 print '未知參數(shù)!'70 sys.exit()71 source_root=''.join(sys.argv[1:])72 print ''73 main()74 print 'Converted to kingbase sucessfully!'75 print '' |
|