Требуется скрипт, который проверяет количество файлов с похожими названиями в директории. Если есть два или более файла с похожими названиями, скрипт должен прерываться. Если в директории есть только один файл с похожим названием, скрипт должен завершаться успешно. Например, в директории /home/user есть файлы с названиями test14, test12, test123 и test1234. Пожалуйста, помогите улучшить формулировку данного вопроса.
Как написать скрипт на Python для проверки наличия двух и более файлов с похожими названиями в указанной директории и прерывания скрипта в таком случае?
Вот пример кода для реализации такого скрипта:
```python
import os
def check_similar_files(directory):
files = os.listdir(directory)
similar_names = set()
for file in files:
base_name = os.path.basename(file)
file_name = os.path.splitext(base_name)[0]
similar_names.add(file_name)
for name in similar_names:
count = sum(name in file for file in files)
if count >= 2:
print(f"Найдено {count} файла/файлов с похожим названием: {name}")
return
print("Ни одного файла с похожим названием не найдено.")
# Пример использования:
directory = "/home/user"
check_similar_files(directory)
```
В этом коде мы используем модуль `os` для получения списка файлов в указанной директории. Затем мы перебираем каждое файловое имя и проверяем, есть ли в директории другие файлы с похожим именем. Если находим два или более файла с похожим названием, мы прерываем выполнение функции и выводим сообщение о нахождении таких файлов. Если не находим файлов с похожими именами, выводим сообщение о их отсутствии.
Если выполнение команды "ls -1" и фильтрация по строкам, содержащим "test" с помощью "grep -c", равно нулю, то выполняется определенная ветка кода.