如何修改Python代码以支持命令行传入数据集路径、名称及变量名参数
Python代码修改说明
核心修改点
- 引入内置
sys模块读取命令行位置参数,新增参数合法性校验逻辑,避免参数缺失导致的运行异常 - 从命令行参数中按顺序读取数据集路径、数据集名称、输入列表序列三个入参,和你给出的命令行运行格式完全对应
- 修复原有代码的语法错误:
join方法后应为圆括号而非方括号 - 调整请求体
task的结构,新增数据集路径、数据集名称两个字段,同步提交到目标接口 - 如果后续需要支持更灵活的参数配置(比如可选参数、自动生成参数说明),可以替换为
argparse模块实现更完善的命令行参数能力
修改后完整代码
import sys import requests def your_task_func(accesstoken): # 校验参数数量合法性 if len(sys.argv) != 4: print("参数格式错误,请按照如下格式运行:script.py 数据集路径 数据集名称 输入变量名") sys.exit(1) # 按顺序读取命令行参数 dataset_path = sys.argv[1] dataset_name = sys.argv[2] input_list_content = sys.argv[3] # 输入列表转换逻辑可根据实际业务调整,比如多值用逗号分隔时可写为: # inputlist = input_list_content.split(',') inputlist = [input_list_content] # 示例转换逻辑,可按需修改 # 修复原有join语法错误 variable = '~!'.join(str(item) for item in inputlist) # 请求体新增数据集相关参数 task = { 'plaintext': variable, 'dataset_path': dataset_path, 'dataset_name': dataset_name } header = { 'accesstoken': accesstoken } # 修正原有代码的导入错误,需提前安装requests依赖 resp = requests.post('http://URL', json=task, headers=header, verify=False) resTempList = resp.text.split('~!') return resTempList
运行说明
- 运行前先安装依赖:
pip install requests - 按照示例命令直接执行即可:
python script.py C:/data/text dataset_name variable_name - 如果输入列表包含多个值,可自行调整分隔规则,比如用逗号分隔多值,运行时传入
python script.py C:/data/text dataset_name var1,var2,var3,再在代码中按逗号拆分得到完整输入列表
内容的提问来源于stack exchange,提问作者prad001
相关产品推荐
相关产品推荐

