Guest User

Untitled

a guest
Feb 3rd, 2018
556
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.37 KB | None | 0 0
  1. gpk@site.com for 716745165214@kdf.net kglk@mail.ru lkjl@list.ru ncv@gmail.com
  2. gpk@site.com for 716745165214@kdf.net kglk@mail.ru lkjl@list.ru ncv@gmail.com
  3. gpk@site.com for 716745165214@kdf.net kglk@mail.ru lkjl@list.ru ncv@gmail.com
  4.  
  5. {gpk@site.com
  6. {
  7. 16745165214@kdf.net : 3
  8. kglk@mail.ru : 3
  9. kjl@list.ru : 3
  10. ncv@gmail.com : 3
  11. }
  12. }
  13.  
  14. #! /usr/bin/env python3.6
  15. # -*- coding: utf-8 -*-
  16. def reader(fname):
  17. d={}
  18. fromto={}
  19. df=[]
  20.  
  21. file = open(fname,"r")
  22. for line in file:
  23. # print (line)
  24. ll=line.strip().split('for')
  25. sfrom=''.join(ll[0].split())
  26. sto=ll[1].split()
  27. if sfrom in fromto: # почему-то проверка не рботает
  28. df = fromto[sfrom]
  29.  
  30. for i in range(len(sto)):
  31. df.append(sto[i])
  32.  
  33. fromto[sfrom]= df
  34. df.clear()
  35.  
  36. print(fromto)
  37.  
  38. if __name__ == '__main__':
  39. reader('list-100.list')
  40.  
  41. from collections import Counter
  42.  
  43. log = """
  44. gpk@site.com for 716745165214@kdf.net kglk@mail.ru lkjl@list.ru ncv@gmail.com
  45. gpk2@site.com for 7167451652142@kdf.net kglk2@mail.ru lkjl2@list.ru ncv2@gmail.com
  46. gpk@site.com for 716745165214@kdf.net kglk@mail.ru lkjl@list.ru ncv@gmail.com
  47. """
  48.  
  49. pairs = Counter()
  50. for line in log.splitlines():
  51. tmp = line.split()
  52. from_user = tmp[0]
  53. pairs.update((from_user, to_user) for to_user in tmp[2:])
  54.  
  55. print(pairs)
  56.  
  57. text = """
  58. 1. gpk@site.com for 716745165214@kdf.net kglk@mail.ru lkjl@list.ru ncv@gmail.com
  59. 2. abc@site.com for site@site.ru lkjl@list.com
  60. """
  61.  
  62. from collections import defaultdict
  63. from_by_to_list = defaultdict(list)
  64.  
  65. for line in text.splitlines():
  66. line = line.strip()
  67. from_str, to_str = line.split('for')
  68.  
  69. from_str = from_str.strip().split()[1]
  70. to_list = to_str.strip().split()
  71.  
  72. from_by_to_list[from_str] += to_list
  73.  
  74. print(from_by_to_list)
  75. print()
  76.  
  77. for k, items in from_by_to_list.items():
  78. print('{} ({}):'.format(k, len(items)))
  79. for i, x in enumerate(items, 1):
  80. print(' {}. {}'.format(i, x))
  81.  
  82. print()
  83.  
  84. defaultdict(<class 'list'>, {'gpk@site.com': ['716745165214@kdf.net', 'kglk@mail.ru', 'lkjl@list.ru', 'ncv@gmail.com'], 'abc@site.com': ['site@site.ru', 'lkjl@list.com']})
  85.  
  86. gpk@site.com (4):
  87. 1. 716745165214@kdf.net
  88. 2. kglk@mail.ru
  89. 3. lkjl@list.ru
  90. 4. ncv@gmail.com
  91.  
  92. abc@site.com (2):
  93. 1. site@site.ru
  94. 2. lkjl@list.com
Add Comment
Please, Sign In to add comment