首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python变量参数

Python变量参数
EN

Stack Overflow用户
提问于 2015-03-08 17:41:02
回答 3查看 278关注 0票数 1

我对python很陌生,我致力于将参数放入变量中。我试图只允许三个变量作为参数,并将它们作为字符串放入abc中。

代码语言:javascript
复制
#!/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
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-03-08 17:46:41

由于您希望参数作为标量,所以不需要围绕[]y

代码语言:javascript
复制
a,b,c = [y for y in x.split()]

但是坦率地说,您甚至不需要经历连接拆分-您可以为一系列逗号分隔的标量分配一个数组:

代码语言:javascript
复制
a,b,c = sys.argv[1:]

类似地,您不应该检查联接字符串上的len,而应该检查数组。一个完整的例子:

代码语言:javascript
复制
#!/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
EN

Stack Overflow用户

发布于 2015-03-08 17:43:31

代码语言:javascript
复制
#!/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
票数 0
EN

Stack Overflow用户

发布于 2015-03-08 18:01:26

以下是工作代码:

代码语言:javascript
复制
import sys

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

for arg in args:
    print(arg)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28929721

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档