我对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发布于 2015-03-08 17:46:41
由于您希望参数作为标量,所以不需要围绕[]的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"发布于 2015-03-08 17:43:31
#!/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发布于 2015-03-08 18:01:26
以下是工作代码:
import sys
args = sys.argv[1:]
if len(args) > 3:
print "Too many arguments"
for arg in args:
print(arg)https://stackoverflow.com/questions/28929721
复制相似问题