Skip to main content
 首页 » 编程设计

python之如何将字符串句子作为命令行参数传递

2025年05月04日41JustinYoung

以下代码采用可在 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”,我想将其作为命令行参数传递并存储在“第一个”变量中。

请您参考如下方法:

argv 将是 shell 解析的所有参数的列表。

如果我做

#script.py 
from sys import argv 
print argv 
 
$python script.py hello, how are you 
['script.py','hello','how','are','you] 

脚本的名称始终是列表中的第一个元素。如果我们不使用引号,每个单词也会成为列表的一个元素。

print argv[1] 
print argv[2] 
$python script.py hello how are you 
hello 
how 

但是如果我们使用引号,

$python script.py "hello, how are you" 
 ['script.py','hello, how are you'] 

所有单词现在都是列表中的一项。所以做这样的事情

print "The script is called:", argv[0] #slicing our list for the first item 
print "Your first variable is:", argv[1] 

或者如果您出于某种原因不想使用引号:

print "The script is called:", argv[0] #slicing our list for the first item 
print "Your first variable is:", " ".join(argv[1:]) #slicing the remaining part of our list and joining it as a string. 
 
$python script.py hello, how are you 
$The script is called: script.py 
$Your first variable is: hello, how are you