TxT2Docx/check_project.py
2025-09-26 15:49:06 +08:00

120 lines
3.3 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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