Python 模拟规范化参数

Python 模拟规范化参数,python,string,Python,String,如果您将这样的字符串作为程序参数传递给python my.py name1=abc name2='def' name3="ghi klm" 然后,sys.args将返回如下列表 ['name1=abc', 'name2=def', 'name3=ghi klm'] 因此,将考虑并删除所有引用。python中的哪个函数可以接受参数字符串并返回这样的规范化列表 更新 Input string -> 'name1=abc name2=\'def\' name3="ghi klm"' Outp

如果您将这样的字符串作为程序参数传递给python

my.py name1=abc name2='def' name3="ghi klm"
然后,
sys.args
将返回如下列表

['name1=abc', 'name2=def', 'name3=ghi klm']
因此,将考虑并删除所有引用。python中的哪个函数可以接受参数字符串并返回这样的规范化列表

更新

Input string -> 'name1=abc name2=\'def\' name3="ghi klm"'
Output list -> ['name1=abc', 'name2=def', 'name3=ghi klm']

要以与shell相同的方式拆分参数,可以使用
shlex.split()

python中的哪个函数可以接受参数字符串并返回这样的规范化列表

可能有一个,但工作实际上是由您的操作系统完成的。Python解释器只是将它从操作系统获得的列表作为
sys.args

进行传播,在这种情况下,“规范化”意味着什么?
>>> shlex.split("name1=abc name2='def' name3=\"ghi klm\"")
['name1=abc', 'name2=def', 'name3=ghi klm']