我是python的新手并且正在努力将参数放入变量中。我试图只允许三个变量作为参数,并将它们作为字符串放入a
,b
和c
。
#!/usr/bin/python
import sys
x = sys.argv[1:]
x = ' '.join(x)
if len(x) > 3:
print "Only three arguments"
else:
print "Too many arguments"
a,b,c=[[y] for y in x.split()]
print a
print b
print c
答案 0 :(得分:1)
由于您希望参数为标量,因此您不需要[]
周围的y
:
a,b,c = [y for y in x.split()]
但坦率地说,你甚至不需要经历加入分裂 - 你可以为一系列以逗号分隔的标量分配数组:
a,b,c = sys.argv[1:]
同样,您不应该在连接的字符串上检查len
,而是在阵列上检查#!/usr/bin/python
import sys
x = sys.argv[1:] # no joining!
if len(x) == 3:
print "Only three arguments"
a,b,c = x
print a
print b
print c
else:
print "Too many arguments"
。一个完整的例子:
{{1}}
答案 1 :(得分:0)
#!/usr/bin/python
import sys
if len(sys.argv)!=4:
print "Need to get 3 arguments"
sys.exit()
a=str(sys.argv[1])
b=str(sys.argv[2])
c=str(sys.argv[3])
print a
print b
print c
答案 2 :(得分:0)
这是工作代码:
import sys
args = sys.argv[1:]
if len(args) > 3:
print "Too many arguments"
for arg in args:
print(arg)