main.py 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. import time
  2. import json
  3. import os
  4. from random import choice
  5. def generate_person(): # генерация однй персоны
  6. name = ''
  7. tel = ''
  8. letters = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'j', 'k', 'l', ]
  9. nums = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
  10. while len(name) != 5:
  11. name = name + choice(letters)
  12. while len(tel) != 7:
  13. tel = tel + str(choice(nums))
  14. return {"name": name, "tel": tel}
  15. def time_watcher(): # время выполнения скрипта
  16. print('--- %s seconds ---' % (time.time() - start_time))
  17. def get_persons(): # получение массива персон
  18. persons = []
  19. for i in range(9):
  20. persons.append(generate_person())
  21. return persons
  22. def create_json(persons): # создание json по готовым данным
  23. path_f = os.path.dirname(os.path.abspath(__file__))
  24. with open(os.path.join(path_f, "create_persons.json"), 'w', encoding='utf-8') as json_file:
  25. json.dump(persons, json_file, indent=2, ensure_ascii=False)
  26. def write_json(person_dict): # последовательная запись в json
  27. path_f = os.path.dirname(os.path.abspath(__file__))
  28. try:
  29. data = json.load(
  30. open(os.path.join(path_f, "write_persons.json")))
  31. except:
  32. data = []
  33. data.append(person_dict)
  34. with open(os.path.join(path_f, "write_persons.json"), 'w', encoding='utf-8') as json_file:
  35. json.dump(data, json_file, indent=2, ensure_ascii=False)
  36. def main():
  37. # создание готового create_persons.json
  38. # create_json(get_persons())
  39. for i in range(9): # включительно до 8, 9 раз не входит в итерацию
  40. # последовательная запись в write_persons.json
  41. write_json(generate_person())
  42. if __name__ == '__main__':
  43. start_time = time.time()
  44. main()
  45. time_watcher()