Python 变量参数

Python arguments to variables

我是 python 的新手,正在努力将参数放入变量中。我试图只允许三个变量作为参数并将它们作为字符串放入 abc

#!/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
#!/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

由于您希望参数作为标量,因此不需要 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"

这是工作代码:

import sys

args = sys.argv[1:]
if len(args) > 3:
        print "Too many arguments"

for arg in args:
    print(arg)