Spaces:
Runtime error
Runtime error
import os | |
def read_file_content(file_path): | |
"""Чтение содержимого файла""" | |
with open(file_path, 'r', encoding='utf-8') as file: | |
return file.read() | |
def create_knowledge_file(root_dir, output_file): | |
"""Создание файла знаний с содержимым всех файлов проекта и визуализацией структуры директории""" | |
with open(output_file, 'w', encoding='utf-8') as knowledge_file: | |
# Визуализация структуры директории | |
knowledge_file.write("Структура директории проекта:\n") | |
visualize_directory_structure(root_dir, knowledge_file) | |
# Запись содержимого файлов | |
for root, _, files in os.walk(root_dir): | |
for file_name in files: | |
file_path = os.path.join(root, file_name) | |
knowledge_file.write(f"\n# Начало содержимого файла: {file_path}\n") | |
try: | |
content = read_file_content(file_path) | |
knowledge_file.write(content) | |
except Exception as e: | |
knowledge_file.write(f"Ошибка чтения файла {file_path}: {e}\n") | |
knowledge_file.write(f"# Конец содержимого файла: {file_path}\n") | |
def visualize_directory_structure(dir_path, knowledge_file, indent_level=0): | |
"""Визуализация структуры директории""" | |
items = os.listdir(dir_path) | |
for item in items: | |
item_path = os.path.join(dir_path, item) | |
if item_path == __file__: | |
continue # Исключаем текущий файл скрипта | |
knowledge_file.write(' ' * indent_level + '|-- ' + item + '\n') | |
if os.path.isdir(item_path): | |
visualize_directory_structure(item_path, knowledge_file, indent_level + 1) | |
def main(): | |
root_dir = os.getcwd() # Текущая директория проекта | |
output_file = 'knowledge.txt' | |
create_knowledge_file(root_dir, output_file) | |
print(f"Файл знаний успешно создан: {output_file}") | |
if __name__ == '__main__': | |
main() | |