словарь пар слов
import re
def extract_words_from_file(file_path):
encodings = ['utf-8', 'windows-1251', 'latin-1']
text = None
for encoding in encodings:
try:
with open(file_path, 'r', encoding=encoding) as file:
text = file.readlines() # Читаем файл построчно
break
except (UnicodeDecodeError, FileNotFoundError):
continue
if text is None:
print(f"Не удалось прочитать файл: {file_path}")
return []
pairs = []
for line in text:
# Извлекаем только русские слова из строки
words = re.findall(r'\b[а-яА-ЯёЁ]+\b', line)
# Создаем пары соседних слов
for i in range(len(words) - 1):
pairs.append((words[i], words[i + 1])) # Добавляем пару в список
return pairs
def main():
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
all_pairs = []
# Проходим по всем файлам и папкам на рабочем столе
for root, dirs, files in os.walk(desktop_path):
for file in files:
if file.endswith('.txt'):
file_path = os.path.join(root, file)
print(f"Обработка файла: {file_path}")
all_pairs.extend(extract_words_from_file(file_path)) # Добавляем пары из файла
print(f"Найдено пар слов: {len(all_pairs)}")
# Сохраняем пары в словарь
pairs_dict = {}
for word1, word2 in all_pairs:
pairs_dict[word1] = word2 # Сохраняем в словарь
# Сохраняем в файл
with open('слова2.txt', 'w', encoding='utf-8') as output_file:
for word1, word2 in pairs_dict.items():
output_file.write(f'{word1}: {word2}\n')
print(f"Сохранено уникальных пар слов: {len(pairs_dict)}")
if __name__ == "__main__":
main()
*
import os
import re
def extract_words_from_file(file_path):
encodings = ['utf-8', 'windows-1251', 'latin-1']
text = None
for encoding in encodings:
try:
with open(file_path, 'r', encoding=encoding) as file:
text = file.read()
break
except (UnicodeDecodeError, FileNotFoundError):
continue
if text is None:
print(f"Не удалось прочитать файл: {file_path}")
return set()
# Извлекаем только русские слова
words = re.findall(r'\b[а-яА-ЯёЁ]+\b', text)
return set(words)
def extract_pairs(words):
pairs = set()
word_list = sorted(words)
for i in range(len(word_list)):
for j in range(i + 1, len(word_list)):
pairs.add((word_list[i], word_list[j]))
return pairs
def main():
desktop_path = os.path.join(os.path.expanduser("~"), "Desktop")
unique_words = set()
# Проходим по всем файлам и папкам на рабочем столе
for root, dirs, files in os.walk(desktop_path):
for file in files:
if file.endswith('.txt'):
file_path = os.path.join(root, file)
print(f"Обработка файла: {file_path}")
unique_words.update(extract_words_from_file(file_path))
print(f"Найдено уникальных слов: {len(unique_words)}")
# Извлекаем уникальные пары слов
unique_pairs = extract_pairs(unique_words)
# Сохраняем в файл
with open('слова2.txt', 'w', encoding='utf-8') as output_file:
for pair in sorted(unique_pairs):
output_file.write(f'{pair[0]} {pair[1]}\n')
print(f"Сохранено уникальных пар слов: {len(unique_pairs)}")
if __name__ == "__main__":
main()
*
import random
# Шаг 1: Считываем пары слов из файла
def load_word_pairs(filename):
with open(filename, 'r', encoding='utf-8') as file:
word_pairs = [line.strip().split() for line in file]
return word_pairs
# Шаг 2: Генерируем случайный текст
def generate_random_text(word_pairs, num_words=16):
words = []
for _ in range(num_words):
pair = random.choice(word_pairs)
# Выбираем случайное слово из пары
word = random.choice(pair)
words.append(word)
return ' '.join(words)
# Шаг 3: Генерируем несколько строк текста
def generate_multiple_lines(word_pairs, num_lines=300, num_words_per_line=16):
lines = []
for _ in range(num_lines):
line = generate_random_text(word_pairs, num_words_per_line)
lines.append(line)
return lines
# Основная программа
if __name__ == "__main__":
filename = 'пары слов.txt' # Укажите ваш файл с парами слов
word_pairs = load_word_pairs(filename)
random_text_lines = generate_multiple_lines(word_pairs)
# Сохраняем текст в файл
with open('rand_text.txt', 'w', encoding='utf-8') as output_file:
for line in random_text_lines:
output_file.write(line + '\n')
Свидетельство о публикации №124112406878