如何在Python中根据命令行参数控制本地专属资源声明
命令行传参控制本地模式代码执行
你可以通过读取命令行参数来判断是否启用本地模式,仅在传入local参数时初始化EC2客户端,具体实现如下:
1. 读取命令行参数
用Python内置的sys模块获取命令行传入的参数,判断第一个参数是否为local。
2. 条件执行EC2初始化逻辑
把EC2客户端的初始化代码包裹在条件判断里,仅当检测到local参数时才执行;同时建议将boto3的导入放在条件内部,避免非本地环境加载不必要的依赖。
完整示例代码
from elasticsearch import Elasticsearch import sys if __name__ == "__main__": # 判断命令行是否传入local参数 if len(sys.argv) > 1 and sys.argv[1] == 'local': # 仅本地模式执行 import boto3 ec2 = boto3.Session(profile_name='dev', region_name='eu-west-1').client('ec2') # 这里可以添加EC2相关的业务逻辑 print("本地模式已启用,EC2客户端初始化完成") # 所有环境通用的代码(比如ES连接逻辑) es = Elasticsearch(...) print("通用业务逻辑执行中")
运行方式
- 本地环境(需要EC2客户端):
python main.py local - 测试/生产环境(跳过EC2初始化):
python main.py # 或传入其他环境标识,比如 python main.py prod
内容的提问来源于stack exchange,提问作者ozil
相关产品推荐
相关产品推荐

