如何使用特殊字符(例如下面显示的字符)转义/处理括号/任意输入,以便我的 python 代码获得正确的字符串参数?
我有一个 YAML 管道,它将输入参数作为来自用户的字符串,并将该字符串作为参数提供给 Python 任务:
- name: Name
displayName: Username
type: string
default: "-"
- task: PythonScript@0
displayName: 'Python task'
inputs:
scriptPath: $(System.DefaultWorkingDirectory)/x/y.py
arguments: ' -Name "${{parameters.Name}}" '
workingDirectory: '$(System.DefaultWorkingDirectory)/x'
此输入参数适用于字母数字字符,但是当我输入具有左圆括号和右圆括号的字符串(例如 Foo(Bar))时,Python YAML 任务会打印错误:
/bin/sh: 1: 语法错误: "(" 意外
请注意,在 Python 脚本执行开始之前,管道日志中就出现了上述错误
成功输入字符串:FooBar
失败输入字符串:Foo(Bar)
我该如何处理,以便我的 Python 脚本获得正确的字符串?
Python脚本:
import argparse
parser = argparse.ArgumentParser(description="test")
parser.add_argument("-Name")
args = parser.parse_args()
user_name= args.Name
编辑:增加了更多的清晰度,并添加了 Python 脚本