""" 项目完整性检查脚本 检查所有模块的导入和基本功能 """ 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)