Advertisement
Guest User

Untitled

a guest
Nov 13th, 2019
156
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.24 KB | None | 0 0
  1. """Module task1"""
  2.  
  3. import os
  4. import re
  5. import csv
  6.  
  7. PATH = os.path.normpath(os.getcwd())
  8.  
  9.  
  10. def get_strings_to_lists(keys_list, values_list, iterated_string):
  11.     splitted_files_string = iterated_string.split(':')
  12.     normalised_value = splitted_files_string[-1].strip()
  13.     values_list.append(normalised_value)
  14.     normalised_key = splitted_files_string[0].strip()
  15.  
  16.     if normalised_key not in keys_list:
  17.         keys_list.append(normalised_key)
  18.  
  19.  
  20. def get_data(path_for_work):
  21.     os_prod_list = []
  22.     os_name_list = []
  23.     os_code_list = []
  24.     os_type_list = []
  25.     main_data = []
  26.  
  27.     files_list = os.listdir(path_for_work)
  28.     info_files_list = []
  29.     for file in files_list:
  30.         splitted_file_name = file.split('.')
  31.         file_name = splitted_file_name[0]
  32.         if re.match('info', file_name):
  33.             info_files_list.append(file)
  34.  
  35.     for info_file in info_files_list:
  36.         with open(info_file, 'r') as info:
  37.             for idx, string in enumerate(info):
  38.                 if re.match('Изготовитель системы', string):
  39.                     get_strings_to_lists(main_data, os_prod_list, string)
  40.                 elif re.match('Название ОС', string):
  41.                     get_strings_to_lists(main_data, os_name_list, string)
  42.                 elif re.match('Код продукта', string):
  43.                     get_strings_to_lists(main_data, os_code_list, string)
  44.                 elif re.match('Тип системы', string):
  45.                     get_strings_to_lists(main_data, os_type_list, string)
  46.  
  47.     #  ну очень костыльно,
  48.     #  но спустя 3.5 часа, лучше я ничего, к сожалению, не придумал =) :
  49.  
  50.     device_1 = [os_prod_list[0], os_code_list[0], os_type_list[0]]
  51.     device_2 = [os_prod_list[1], os_code_list[1], os_type_list[1]]
  52.     device_3 = [os_prod_list[2], os_code_list[2], os_type_list[2]]
  53.  
  54.     total_data = [main_data, device_1, device_2, device_3]
  55.  
  56.     return total_data
  57.  
  58.  
  59. print(get_data(PATH))
  60.  
  61.  
  62. def write_to_csv(data):
  63.     with open('report.csv', 'w') as report:
  64.         report_writer = csv.writer(report)
  65.         for row in data:
  66.             report_writer.writerow(row)
  67.  
  68.  
  69. write_to_csv(get_data(PATH))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement