Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何拆分包含命令行参数的字符串_Python - Fatal编程技术网

Python 如何拆分包含命令行参数的字符串

Python 如何拆分包含命令行参数的字符串,python,Python,如何拆分字符串-s-k“test_a或test_b”-m“not stability”--results=/tmp/test results--log cli level=INFO到 ['-s', '-k', 'test_a or test_b', '-m', 'not unstable', '--results=/tmp/test-results', '--log-cli-level=INFO'] 我猜你错过了添加报价。如果要使用类似shell的行为进行拆分,请使用: 我猜你错过了添加报价。

如何拆分字符串
-s-k“test_a或test_b”-m“not stability”--results=/tmp/test results--log cli level=INFO

['-s', '-k', 'test_a or test_b', '-m', 'not unstable', '--results=/tmp/test-results', '--log-cli-level=INFO']

我猜你错过了添加报价。如果要使用类似shell的行为进行拆分,请使用:


我猜你错过了添加报价。如果要使用类似shell的行为进行拆分,请使用:


test_b
之后似乎缺少引号,您从何处获取此字符串?这看起来像是命令行参数。这可能是一个XY问题,因为有一些内置的方法来解析命令行参数。
test\b
之后似乎缺少引号。从何处获取此字符串?这看起来像是命令行参数。这可能是一个XY问题,因为有一些内置的方法来解析命令行arguments@anonymous,很高兴有帮助!如果您正在制作一个命令行工具,还可以查看该库——它非常方便。如果我的答案解决了您的问题,请单击复选标记接受它。你也应该把这个问题看成是一个重复的问题。如果你庆祝它,圣诞快乐;如果你不庆祝,节日快乐:)如果你认为它是重复的,你为什么回答?你有足够的代表来回答问题,所以你应该这样做so@Tomerikoo,@anonymous是一个新用户,他正试图解决一个问题。我鼓励他们将此作为副本关闭,但更重要的是,我希望他们能够得到问题的答案,即使这可能不是非常有效的,或者他们不知道如何提问,或者他们应该在网站上搜索副本。他们是新的,可能找不到问题。但你不是新来的。所以我觉得建议在答案中把一个问题标记为重复问题很有趣。重复的全部目的是避免重复相同的问题和答案。您的答案与上面链接的答案完全相同,这里甚至还有另一个答案。。。你帮了他们的忙,把他们的问题以重复的方式结束,就像回答一样…@anonymous,很高兴能帮上忙!如果您正在制作一个命令行工具,还可以查看该库——它非常方便。如果我的答案解决了您的问题,请单击复选标记接受它。你也应该把这个问题看成是一个重复的问题。如果你庆祝它,圣诞快乐;如果你不庆祝,节日快乐:)如果你认为它是重复的,你为什么回答?你有足够的代表来回答问题,所以你应该这样做so@Tomerikoo,@anonymous是一个新用户,他正试图解决一个问题。我鼓励他们将此作为副本关闭,但更重要的是,我希望他们能够得到问题的答案,即使这可能不是非常有效的,或者他们不知道如何提问,或者他们应该在网站上搜索副本。他们是新的,可能找不到问题。但你不是新来的。所以我觉得建议在答案中把一个问题标记为重复问题很有趣。重复的全部目的是避免重复相同的问题和答案。您的答案与上面链接的答案完全相同,这里甚至还有另一个答案。。。你帮助OP的方法是把他们的问题作为重复的问题结束,就像回答。。。
import shlex

s = '-s -k "test_a or test_b" -m "not unstable" --results=/tmp/test-results --log-cli-level=INFO'
print(shlex.split(s))
# ['-s', '-k', 'test_a or test_b', '-m', 'not unstable', '--results=/tmp/test-results', '--log-cli-level=INFO']