120 lines
3.3 KiB
Python
120 lines
3.3 KiB
Python
"""
|
||
项目完整性检查脚本
|
||
检查所有模块的导入和基本功能
|
||
"""
|
||
|
||
import sys
|
||
import importlib
|
||
|
||
def check_module(module_name):
|
||
"""检查模块是否可以正常导入"""
|
||
try:
|
||
importlib.import_module(module_name)
|
||
print(f"✓ {module_name} - 导入成功")
|
||
return True
|
||
except ImportError as e:
|
||
print(f"✗ {module_name} - 导入失败: {e}")
|
||
return False
|
||
except Exception as e:
|
||
print(f"⚠ {module_name} - 导入异常: {e}")
|
||
return False
|
||
|
||
def main():
|
||
"""主检查函数"""
|
||
print("=== TXT2DOCX 项目完整性检查 ===\n")
|
||
|
||
# 核心模块列表
|
||
core_modules = [
|
||
'config',
|
||
'style_manager',
|
||
'advanced_style_editor',
|
||
'file_handler',
|
||
'text_processor',
|
||
'markdown_parser',
|
||
'docx_generator',
|
||
'image_processor',
|
||
'error_chars',
|
||
'batch_processor',
|
||
'gui_config',
|
||
'gui_matching_editor',
|
||
'gui_results',
|
||
'gui_style_manager',
|
||
'main'
|
||
]
|
||
|
||
# 检查核心模块
|
||
print("核心模块检查:")
|
||
success_count = 0
|
||
total_count = len(core_modules)
|
||
|
||
for module in core_modules:
|
||
if check_module(module):
|
||
success_count += 1
|
||
|
||
print(f"\n检查完成: {success_count}/{total_count} 模块导入成功")
|
||
|
||
# 检查关键依赖
|
||
print("\n外部依赖检查:")
|
||
dependencies = [
|
||
'tkinter',
|
||
'docx', # python-docx
|
||
'PIL', # Pillow
|
||
'json',
|
||
'os',
|
||
'copy',
|
||
'typing'
|
||
]
|
||
|
||
dep_success = 0
|
||
for dep in dependencies:
|
||
if check_module(dep):
|
||
dep_success += 1
|
||
|
||
print(f"\n依赖检查完成: {dep_success}/{len(dependencies)} 依赖可用")
|
||
|
||
# 检查数据文件
|
||
print("\n数据文件检查:")
|
||
import os
|
||
|
||
required_files = [
|
||
'data/error_chars.json',
|
||
'data/11.txt'
|
||
]
|
||
|
||
file_success = 0
|
||
for file_path in required_files:
|
||
if os.path.exists(file_path):
|
||
print(f"✓ {file_path} - 文件存在")
|
||
file_success += 1
|
||
else:
|
||
print(f"✗ {file_path} - 文件缺失")
|
||
|
||
# 检查样式目录
|
||
styles_dir = 'data/styles'
|
||
if os.path.exists(styles_dir) and os.path.isdir(styles_dir):
|
||
print(f"✓ {styles_dir}/ - 目录存在")
|
||
style_files = [f for f in os.listdir(styles_dir) if f.endswith('.json')]
|
||
print(f" └─ 发现 {len(style_files)} 个样式文件")
|
||
file_success += 1
|
||
else:
|
||
print(f"✗ {styles_dir}/ - 目录缺失")
|
||
|
||
print(f"\n数据文件检查完成: {file_success}/{len(required_files)+1} 文件/目录正常")
|
||
|
||
# 总结
|
||
print("\n" + "="*50)
|
||
total_checks = total_count + len(dependencies) + len(required_files) + 1
|
||
total_success = success_count + dep_success + file_success
|
||
|
||
if total_success == total_checks:
|
||
print("🎉 项目完整性检查通过!所有组件正常。")
|
||
print("✨ 可以正常启动程序:python main.py")
|
||
else:
|
||
print(f"⚠️ 检查完成:{total_success}/{total_checks} 项通过")
|
||
print("❗ 请修复上述问题后再运行程序")
|
||
|
||
return total_success == total_checks
|
||
|
||
if __name__ == '__main__':
|
||
success = main()
|
||
sys.exit(0 if success else 1) |