77 lines
2.5 KiB
Python
77 lines
2.5 KiB
Python
#!/usr/bin/env python
|
|
# -*- coding: utf-8 -*-
|
|
"""
|
|
给所有角色添加默认权重100的脚本
|
|
"""
|
|
import os
|
|
import json
|
|
import logging
|
|
|
|
# 配置日志
|
|
logging.basicConfig(
|
|
level=logging.INFO,
|
|
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
|
|
)
|
|
logger = logging.getLogger('add_weights')
|
|
|
|
# 卡牌文件路径 - 根据实际情况修改
|
|
CARDS_FILE = 'data/cards.json'
|
|
|
|
def add_default_weights():
|
|
"""给所有角色添加默认权重100"""
|
|
try:
|
|
# 确保文件存在
|
|
if not os.path.exists(CARDS_FILE):
|
|
logger.error(f"文件不存在: {CARDS_FILE}")
|
|
return False
|
|
|
|
# 读取卡牌数据
|
|
with open(CARDS_FILE, 'r', encoding='utf-8') as f:
|
|
cards_data = json.load(f)
|
|
|
|
characters = cards_data.get('characters', [])
|
|
logger.info(f"读取到 {len(characters)} 个角色")
|
|
|
|
# 记录修改数量
|
|
updated_count = 0
|
|
|
|
# 为每个角色添加默认权重
|
|
for character in characters:
|
|
if 'weight' not in character:
|
|
character['weight'] = 100
|
|
updated_count += 1
|
|
|
|
logger.info(f"已为 {updated_count} 个角色添加默认权重100")
|
|
|
|
# 如果有修改,保存回文件
|
|
if updated_count > 0:
|
|
# 先创建备份
|
|
backup_file = f"{CARDS_FILE}.bak"
|
|
with open(backup_file, 'w', encoding='utf-8') as f:
|
|
json.dump(cards_data, f, ensure_ascii=False, indent=2)
|
|
logger.info(f"已创建备份文件: {backup_file}")
|
|
|
|
# 保存修改后的文件
|
|
with open(CARDS_FILE, 'w', encoding='utf-8') as f:
|
|
json.dump(cards_data, f, ensure_ascii=False, indent=2)
|
|
logger.info(f"已保存修改到文件: {CARDS_FILE}")
|
|
|
|
return True
|
|
else:
|
|
logger.info("没有角色需要添加权重,所有角色都已有权重设置")
|
|
return False
|
|
except Exception as e:
|
|
logger.error(f"添加默认权重失败: {str(e)}")
|
|
return False
|
|
|
|
def main():
|
|
"""主函数"""
|
|
logger.info("开始运行添加默认权重脚本")
|
|
result = add_default_weights()
|
|
if result:
|
|
logger.info("脚本执行成功")
|
|
else:
|
|
logger.warning("脚本执行完成,但未进行修改或出现错误")
|
|
|
|
if __name__ == "__main__":
|
|
main() |