

import os
import hashlib
import shutil
from datetime import datetime
import logging
from typing import *
try:
from xbot.app.logging import trace as print
except:
from xbot import print
# 配置日志
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
# 输出开始信息
logger.info(f"开始处理文件夹: {folder_path}")
# 处理重复文件(移动或删除)
processed_count = 0
for file in duplicates:
try:
if delete_duplicates:
logger.info(f"删除重复文件: {file['path']}")
os.remove(file['path'])
processed_count += 1
else:
file_name = os.path.basename(file['path'])
# 确保目标文件名唯一
target_path = os.path.join(duplicate_folder, file_name)
counter = 1
while os.path.exists(target_path):
name, ext = os.path.splitext(file_name)
target_path = os.path.join(duplicate_folder, f"{name}_{counter}{ext}")
counter += 1
logger.info(f"移动重复文件: {file['path']} -> {target_path}")
shutil.move(file['path'], target_path)
processed_count += 1
except Exception as e:
action = "删除" if delete_duplicates else "移动"
logger.error(f"{action}文件 {file['path']} 时出错: {str(e)}")
result = {
'total_files': len(all_files),
'duplicates_found': len(duplicates),
'duplicates_processed': processed_count,
'skipped_files': skipped_files,
'action': "删除" if delete_duplicates else "移动到待删除文件夹"
}
logger.info(f"处理完成: {result}")
print(f"处理完成: 共扫描 {result['total_files']} 个文件,找到 {result['duplicates_found']} 个重复文件,{result['action']} {result['duplicates_processed']} 个文件,跳过 {result['skipped_files']} 个文件")
return result
比如上面的部分魔法指令代码,明明有print语句,但是运行,没有日志输出。为什么?
