start.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #coding=utf-8
  2. import sys,os,re,chardet,getopt
  3. repattern = re.compile(r'.*[\.]{1}([^\.]+)')
  4. zonekey = re.compile(r'zone:\s+([\S]+)[^\r\n]*')
  5. dbindexkey = re.compile(r'dbindex:\s+([\S]+)[^\r\n]*') #re.compile(r'\s+([\S]+)\s*;')
  6. #获取路径下的指定类型文件列表
  7. def getFileList(path, fileList):
  8. for parent, dirnames, filenames in os.walk(path):
  9. for filename in filenames:
  10. match = repattern.match(filename)
  11. if match:
  12. filetype = match.groups()[0]
  13. if filetype in ['yaml']:
  14. fileList.append(os.path.join(parent, filename))
  15. if __name__ == '__main__':
  16. zoneid = 0
  17. dbindex = 0
  18. try:
  19. opts,args = getopt.getopt(sys.argv[1:], "hp:z:d:", ["help","zone","dbindex"])
  20. for opt, arg in opts:
  21. if opt in ("-z", "--zone"):
  22. zoneid = arg
  23. if opt in ("-d", "--dbindex"):
  24. dbindex = arg
  25. except getopt.GetoptError:
  26. useage()
  27. sys.exit(1)
  28. print(zoneid)
  29. print(dbindex)
  30. fileList = []
  31. yamlFile = './'
  32. getFileList(yamlFile, fileList)
  33. for filePath in fileList:
  34. lines = []
  35. file = open(filePath, 'r', encoding='utf-8')
  36. #file = open(filePath, 'r')
  37. if file:
  38. print('file done:',filePath)
  39. for line in file.readlines():
  40. #line = line.strip()
  41. match = zonekey.search(line)
  42. if match and zoneid != 0 and zoneid != '0':
  43. line = ' zone: ' + str(zoneid) + '\n'
  44. match = dbindexkey.search(line)
  45. if match and dbindex != 0 and dbindex != '0':
  46. line = ' dbindex: ' + str(dbindex) + '\n'
  47. lines.append(line)
  48. file.close()
  49. if len(lines) > 0:
  50. file = open(filePath, 'w', encoding='utf-8')
  51. #file = open(filePath, 'w')
  52. if file:
  53. file.writelines(lines)
  54. file.close()