以下代码接受单个字符串值,可以在Python端检索。如何使用带有空格的句子字符串实现这一点?
为了运行该程序,我需要这样传递参数:
from sys import argv
script, firstargument = argv
print "The script is called:", script
print "Your first variable is:", firstargument
为了运行该程序,我需要这样传递参数:
$ python test.py firstargument
这将会输出
The script is called:test.py
Your first variable is:firstargument
一个示例输入可以是"Hello world the program runs",我想将其作为命令行参数传递并存储在‘first’变量中。
test.py "Hello world the program runs"
- Aran-Feyfirst
而不是firstargument
。 - jwillis0720man execv
,了解在UNIX上启动另一个程序所使用的C库调用家族 - 您将看到,在UNIX上启动另一个程序的任何程序都需要提供一组C字符串作为参数(该数组名为argv
),除非使用基于varargs的调用约定,允许将该数组的每个元素作为独立的参数传递给调用。 - Charles Duffytest.py Hello\ world\ the\ program\ runs
,顺便说一下,这是一个完全等价的表达方式——也就是说,shell 调用了完全相同的内容,因此 Python 解释器无法区分两种调用方式之间的差异。对于s='Hello world the program runs'; test.py "$s"
这种情况也是如此(但不包括test.py $s
)。 - Charles Duffy