TxT2Docx/check_project.py

120 lines
3.3 KiB
Python
Raw Permalink Normal View History

2025-09-26 15:49:06 +08:00
"""
项目完整性检查脚本
检查所有模块的导入和基本功能
"""
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)