You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何优化MCC API导出玩家名称到对应团队文件夹的Python代码?

简化MCC玩家数据写入的实现方案

核心优化思路

  • 用循环遍历团队和玩家替代重复代码块
  • 使用with语句自动管理文件资源,避免手动调用close()
  • 提前解析API响应数据,避免重复解析浪费资源

完整代码实现

import requests
import os

# 定义团队列表:(API中的团队键名, 文件夹名称)
TEAMS = [
    ("RED", "Red"),
    ("ORANGE", "Orange"),
    ("YELLOW", "Yellow"),
    ("LIME", "Lime"),
    ("GREEN", "Green"),
    ("CYAN", "Cyan"),
    ("AQUA", "Aqua"),
    ("BLUE", "Blue"),
    ("PURPLE", "Purple"),
    ("PINK", "Pink")
]

# 请求并解析API数据(只执行一次)
response = requests.get("https://api.mcchampionship.com/v1/participants")
participants_data = response.json()['data']

# 遍历每个团队
for team_key, folder_name in TEAMS:
    # 确保团队文件夹存在,不存在则创建
    team_folder = f"./Players/{folder_name}"
    os.makedirs(team_folder, exist_ok=True)
    
    # 遍历团队下的玩家
    for player_idx, player in enumerate(participants_data[team_key], start=1):
        # 拼接文件路径并写入玩家名称
        file_path = f"{team_folder}/player{player_idx}.txt"
        with open(file_path, "w") as f:
            f.write(player['username'])

代码说明

  • 团队列表统一管理:把API中的大写团队键和对应的文件夹名做映射,后续新增/修改团队只需调整这个列表
  • 自动创建文件夹:用os.makedirs(..., exist_ok=True)确保目标文件夹存在,避免因文件夹缺失报错
  • 玩家序号自动生成:通过enumerate(..., start=1)直接获取从1开始的玩家序号,对应player1.txt这类文件名
  • 安全的文件操作:with语句会自动处理文件的打开与关闭,避免资源泄漏问题

内容的提问来源于stack exchange,提问作者MountainTiger144

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 15:54:43