rename_project.py 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #!/usr/bin/env python
  2. # -*- coding: utf-8 -*-
  3. import os
  4. import sys
  5. def replace_data(str, src, dest):
  6. str = str.replace(src, dest)
  7. return str
  8. def rename_item(path, src, dest):
  9. left, right = os.path.split(path)
  10. right = replace_data(right, src, dest)
  11. new_name = os.path.join(left, right)
  12. if path != new_name:
  13. os.rename(path, new_name)
  14. print("renaming\n {}\n -> {} ".format(path, new_name))
  15. def process_file(path, src, dest):
  16. try:
  17. with open(path, "rb") as fp:
  18. data = fp.read()
  19. data = data.decode('utf-8')
  20. data = replace_data(data, src, dest)
  21. data = data.encode('utf-8')
  22. with open(path, "wb") as fp:
  23. fp.write(data)
  24. except:
  25. pass
  26. rename_item(path, src, dest)
  27. def process_dir(path, src, dest):
  28. items = os.listdir(path)
  29. for item in items:
  30. pt = os.path.join(path, item)
  31. if os.path.isdir(pt):
  32. process_dir(pt, src, dest)
  33. else:
  34. process_file(pt, src, dest)
  35. rename_item(path, src, dest)
  36. if __name__ == "__main__":
  37. new_name = sys.argv[1]
  38. #tool automatically renames all files/folders/data to <new_name>
  39. process_dir("my_awesome_game", "my_awesome_game", new_name)
  40. process_file(".gitignore", "my_awesome_game", new_name)