#!/usr/bin/env python3 """ 测试后端是否能正确访问 data 目录 """ import sys from pathlib import Path # 添加 backend 到 Python 路径 sys.path.insert(0, str(Path(__file__).parent)) try: from backend.core.config import settings except ImportError: from core.config import settings def test_paths(): """测试所有路径配置""" print("=" * 60) print("路径配置测试") print("=" * 60) # 测试基本路径 print(f"\n1. 项目根目录 (BASE_PATH):") print(f" {settings.BASE_PATH}") print(f" 存在: {settings.BASE_PATH.exists()}") print(f"\n2. 数据目录 (DATA_PATH):") print(f" {settings.DATA_PATH}") print(f" 存在: {settings.DATA_PATH.exists()}") # 测试子目录 directories = { "预设目录 (PRESET_PATH)": settings.PRESET_PATH, "角色卡目录 (CHARACTERS_PATH)": settings.CHARACTERS_PATH, "聊天目录 (CHAT_PATH)": settings.CHAT_PATH, "世界书目录 (WORLDBOOKS_PATH)": settings.WORLDBOOKS_PATH, "API配置目录": settings.DATA_PATH / "apiconfig", "图片目录 (IMAGES_PATH)": settings.IMAGES_PATH, } print("\n3. 子目录检查:") for name, path in directories.items(): exists = path.exists() status = "✅" if exists else "❌" print(f" {status} {name}:") print(f" {path}") if exists: # 列出目录内容(如果有) try: items = list(path.iterdir()) if items: print(f" 内容: {[item.name for item in items[:5]]}") else: print(f" (空目录)") except Exception as e: print(f" 读取失败: {e}") # 测试预设文件 print("\n4. 预设文件测试:") preset_files = list(settings.PRESET_PATH.glob("*.json")) if settings.PRESET_PATH.exists() else [] print(f" 找到 {len(preset_files)} 个预设文件") for pf in preset_files[:3]: print(f" - {pf.name}") # 测试角色卡 print("\n5. 角色卡测试:") char_dirs = list(settings.CHARACTERS_PATH.iterdir()) if settings.CHARACTERS_PATH.exists() else [] char_count = sum(1 for d in char_dirs if d.is_dir()) print(f" 找到 {char_count} 个角色") for cd in char_dirs[:3]: if cd.is_dir(): char_file = cd / "character.json" has_char_file = char_file.exists() print(f" - {cd.name} (character.json: {'✅' if has_char_file else '❌'})") print("\n" + "=" * 60) print("测试完成!") print("=" * 60) if __name__ == "__main__": test_paths()