file.py 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114
  1. from string import punctuation
  2. # file = open('111.txt', 'a', encoding='utf-8') # a - открыть для дозаписи
  3. # file.write('sdfsd')
  4. # file.close()
  5. # print(file.read(3))
  6. # print(file.read(3))
  7. # file.seek(0)
  8. # print(file.read(3))
  9. # print(file.readline())
  10. # print(file.readline())
  11. # print(file.readline())
  12. # for row in file:
  13. # for letter in row:
  14. # print(letter)
  15. # s = file.readlines()
  16. # print(s)
  17. def create_file_with_numbers(n: int) -> None:
  18. name = "range_" + str(n) + ".txt"
  19. file = open(name, 'w', encoding='utf-8')
  20. for i in range(1, n + 1):
  21. file.write(str(i) + '\n')
  22. file.close()
  23. # create_file_with_numbers(5)
  24. def longest_word_in_file(file_name: str) -> str:
  25. long_word = ""
  26. row_list = []
  27. max_len = 0
  28. file = open(file_name, 'r', encoding='utf-8')
  29. for row in file:
  30. row_list = [x.strip(punctuation) for x in row.split()]
  31. for word in row_list:
  32. if len(word) >= max_len:
  33. max_len = len(word)
  34. long_word = word
  35. file.close()
  36. return long_word
  37. # longest_word_in_file('111.txt')
  38. def find_numbers():
  39. file = open('numbers.txt', 'r', encoding='utf-8')
  40. cnt = 0
  41. s = 0
  42. for num in file:
  43. if len(num) == 4:
  44. cnt += 1
  45. print(num)
  46. if len(num) == 3:
  47. s += int(num)
  48. file.close()
  49. print(cnt, s)
  50. # find_numbers()
  51. def find_lines_len_more_6(file_name : str) -> int:
  52. count = 0
  53. with open(file_name, 'r', encoding='utf-8') as f:
  54. for row in f:
  55. if len(row) - 1 > 6:
  56. count += 1
  57. return count
  58. # print(find_lines_len_more_6('111.txt'))
  59. def find_unic_words(file_name : str) -> int:
  60. my_dict = {}
  61. row_list = []
  62. with open(file_name, 'r', encoding='utf-8') as f:
  63. for row in f:
  64. row_list = [x.lower() for x in row.split()]
  65. for word in row_list:
  66. if word in my_dict.keys():
  67. num = my_dict.get(word)
  68. my_dict.update({word: num + 1})
  69. else:
  70. my_dict.setdefault(word, 1)
  71. print(len(my_dict))
  72. # find_unic_words('lorem.txt')
  73. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  74. def find_words_count(file_name : str) -> None:
  75. words = {}
  76. row_list = []
  77. with open(file_name, 'r', encoding='utf-8') as f:
  78. for row in f:
  79. row_list = [x.upper() for x in row.split()]
  80. for word in row_list:
  81. if word in words.keys():
  82. num = words.get(word)
  83. words.update({word: num + 1})
  84. else:
  85. words.setdefault(word, 1)
  86. find_words_count("lorem.txt")
  87. #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~