Files
ai_wht_wechat/backend/replace_print_with_logger.py
2026-01-09 23:27:52 +08:00

66 lines
2.0 KiB
Python

"""
批量替换 xhs_login.py 中的 print 为 logger
"""
import re
def replace_print_to_logger(content):
"""将 print 语句替换为对应的 logger 语句"""
# 替换规则:根据内容判断日志级别
def determine_log_level_and_replace(match):
text = match.group(1)
# 错误相关
if any(keyword in text for keyword in ['失败', '错误', '异常', '', 'error', 'Error', 'failed', 'Failed']):
return f'logger.error({text})'
# 警告相关
elif any(keyword in text for keyword in ['警告', '⚠️', 'warning', 'Warning', '未找到', '检测到']):
return f'logger.warning({text})'
# 成功相关
elif any(keyword in text for keyword in ['成功', '', 'success', 'Success', '', '完成']):
return f'logger.success({text})'
# 调试相关
elif any(keyword in text for keyword in ['调试', 'debug', 'Debug', '查找', '正在', '开始']):
return f'logger.debug({text})'
# 默认 info
else:
return f'logger.info({text})'
# 匹配 print(xxx, file=sys.stderr)
pattern1 = r'print\((.*?),\s*file=sys\.stderr\)'
content = re.sub(pattern1, determine_log_level_and_replace, content)
# 匹配普通 print(xxx)
pattern2 = r'print\((.*?)\)(?!\s*#.*logger)'
content = re.sub(pattern2, determine_log_level_and_replace, content)
return content
def main():
# 读取文件
with open('xhs_login.py', 'r', encoding='utf-8') as f:
content = f.read()
# 替换
new_content = replace_print_to_logger(content)
# 备份原文件
with open('xhs_login.py.bak', 'w', encoding='utf-8') as f:
f.write(content)
# 写入新文件
with open('xhs_login.py', 'w', encoding='utf-8') as f:
f.write(new_content)
print("✅ 替换完成!")
print("原文件已备份到 xhs_login.py.bak")
if __name__ == '__main__':
main()