import os import pickle from MMM1 import find_anomal, cor_anom def read_sig(filename): numbers = [] try: with open(filename, 'r', encoding='utf-8') as f: for line in f: parts = line.strip().split() for part in parts: try: numbers.append(float(part)) except ValueError: continue except Exception as e: print(f"Ошибка чтения файла: {e}") return None return numbers def main_pr(): while True: filename = input("Введите имя текстового файла с сигналом: ") if os.path.isfile(filename): break print("Файл не найден. Попробуйте снова.") X = read_sig(filename) if X is None: print("Не удалось прочитать сигнал.") return M1 = float(input("Введите M1 (нижняя граница): ")) M2 = float(input("Введите M2 (верхняя граница): ")) anomalies = find_anomal(X, M1, M2) if anomalies: print(f"Индексы аномальных отсчетов: {anomalies}") else: print("Индексов аномальных отcчетов нет") if anomalies: X1 = cor_anom(X, anomalies) with open('Res44.bin', 'wb') as f: pickle.dump(X1, f) print("Результат сохранён в файл Res44.bin") else: print("Аномальных отсчетов не обнаружено.") return X, X1 if anomalies else None