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

如何利用argparse实现CMD快捷调用Python代码指定账户更新?

整合多账户更新代码,用argparse实现命令行快捷调用

你选argparse绝对是正确的思路!咱们一步步把三个账户的更新逻辑整合到单份代码里,还能通过命令行灵活指定要更新的账户。

第一步:把每个账户的更新逻辑封装成独立函数

先把你现有的Cloud更新逻辑抽成函数,另外两个账户同理,再写一个update_all()来批量执行所有更新:

def _msg(updated):
    return "was updated" if updated else "already up-to-date"

def update_cloud():
    Cloud_Updater = Cloud()
    updated = Cloud_Updater.update()
    print(f"Cloud {_msg(updated)}.\n")

def update_drive():
    # 替换成第二个账户的实际更新逻辑
    Drive_Updater = Drive()
    updated = Drive_Updater.update()
    print(f"Drive {_msg(updated)}.\n")

def update_dropbox():
    # 替换成第三个账户的实际更新逻辑
    Dropbox_Updater = Dropbox()
    updated = Dropbox_Updater.update()
    print(f"Dropbox {_msg(updated)}.\n")

def update_all():
    update_cloud()
    update_drive()
    update_dropbox()

第二步:用argparse配置命令行参数

接下来用argparse定义命令行可接受的参数,限定用户只能指定三个账户或「全部更新」选项:

import argparse

if __name__ == "__main__":
    # 创建参数解析器
    parser = argparse.ArgumentParser(description="Update multiple cloud account informations.")
    
    # 添加位置参数,限定可选值为三个账户和all
    parser.add_argument(
        "target",
        choices=["cloud", "drive", "dropbox", "all"],
        help="Specify which account to update: cloud, drive, dropbox, or all"
    )
    
    # 解析命令行传入的参数
    args = parser.parse_args()
    
    # 用字典映射参数到对应函数(比一堆if-elif更简洁)
    update_actions = {
        "cloud": update_cloud,
        "drive": update_drive,
        "dropbox": update_dropbox,
        "all": update_all
    }
    
    # 执行对应的更新操作
    update_actions[args.target]()

第三步:测试命令行调用

现在你就能通过命令行快捷调用不同的更新逻辑了:

  • 只更新Cloud账户:python your_script_name.py cloud
  • 更新所有账户:python your_script_name.py all
  • 更新Drive账户:python your_script_name.py drive

如果后续需要支持同时更新多个账户(比如python your_script.py cloud drive),只需要把参数的nargs设置为'+',然后遍历执行对应函数即可,这个版本先满足你最核心的需求~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 22:47:31