完成大量美化
This commit is contained in:
91
test_worldbook_direct.py
Normal file
91
test_worldbook_direct.py
Normal file
@@ -0,0 +1,91 @@
|
||||
"""
|
||||
直接测试世界书文件读取(不依赖backend模块)
|
||||
"""
|
||||
import json
|
||||
from pathlib import Path
|
||||
|
||||
# 项目根目录
|
||||
PROJECT_ROOT = Path(r'D:\progarm\python\llm_workflow_engine')
|
||||
DATA_PATH = PROJECT_ROOT / 'data'
|
||||
WORLDBOOKS_PATH = DATA_PATH / 'worldbooks'
|
||||
|
||||
print("=" * 60)
|
||||
print("世界书文件直接读取测试")
|
||||
print("=" * 60)
|
||||
|
||||
print(f"\n1. 路径信息:")
|
||||
print(f" 世界书目录: {WORLDBOOKS_PATH}")
|
||||
print(f" 目录存在: {WORLDBOOKS_PATH.exists()}")
|
||||
|
||||
# 列出所有JSON文件
|
||||
json_files = list(WORLDBOOKS_PATH.glob("*.json"))
|
||||
print(f"\n2. JSON文件列表:")
|
||||
print(f" 文件数量: {len(json_files)}")
|
||||
for f in json_files:
|
||||
print(f" - {f.name} ({f.stat().st_size} bytes)")
|
||||
|
||||
if json_files:
|
||||
# 尝试读取第一个文件
|
||||
first_file = json_files[0]
|
||||
print(f"\n3. 尝试读取文件: {first_file.name}")
|
||||
|
||||
try:
|
||||
with open(first_file, 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
|
||||
print(f" ✓ 文件读取成功")
|
||||
print(f" 文件格式: JSON")
|
||||
print(f" 顶层键: {list(data.keys())}")
|
||||
|
||||
# 检查是否是内部格式
|
||||
if 'entries' in data:
|
||||
entries = data['entries']
|
||||
if isinstance(entries, list):
|
||||
print(f" 格式类型: 内部格式 (Internal)")
|
||||
print(f" 条目数量: {len(entries)}")
|
||||
print(f" 世界书名称: {data.get('name', '未设置')}")
|
||||
print(f" 描述: {data.get('description', '无')}")
|
||||
|
||||
if entries:
|
||||
print(f"\n 第一条目预览:")
|
||||
first_entry = entries[0]
|
||||
print(f" UID: {first_entry.get('uid', 'N/A')}")
|
||||
print(f" 内容长度: {len(first_entry.get('content', ''))}")
|
||||
print(f" 键: {first_entry.get('key', [])}")
|
||||
elif isinstance(entries, dict):
|
||||
print(f" 格式类型: SillyTavern格式")
|
||||
print(f" 条目数量: {len(entries)}")
|
||||
else:
|
||||
print(f" ⚠️ 未知格式,缺少 'entries' 键")
|
||||
|
||||
except json.JSONDecodeError as e:
|
||||
print(f" ❌ JSON解析失败: {e}")
|
||||
except Exception as e:
|
||||
print(f" ❌ 读取失败: {e}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
|
||||
# 如果有多个文件,也检查第二个
|
||||
if len(json_files) > 1:
|
||||
second_file = json_files[1]
|
||||
print(f"\n4. 尝试读取第二个文件: {second_file.name}")
|
||||
|
||||
try:
|
||||
with open(second_file, 'r', encoding='utf-8') as f:
|
||||
data = json.load(f)
|
||||
|
||||
print(f" ✓ 文件读取成功")
|
||||
if 'entries' in data:
|
||||
entries = data['entries']
|
||||
if isinstance(entries, list):
|
||||
print(f" 格式类型: 内部格式 (Internal)")
|
||||
print(f" 条目数量: {len(entries)}")
|
||||
elif isinstance(entries, dict):
|
||||
print(f" 格式类型: SillyTavern格式")
|
||||
print(f" 条目数量: {len(entries)}")
|
||||
except Exception as e:
|
||||
print(f" ❌ 读取失败: {e}")
|
||||
|
||||
print("\n" + "=" * 60)
|
||||
print("测试完成")
|
||||
print("=" * 60)
|
||||
Reference in New Issue
Block a user