我正在尝试做一些非常简单的事情,我不知道为什么我无法解决这个问题......
我有2个参数,我只是想通过使用循环将它们放入列表中,我使用循环的原因是因为有一天该函数可能需要很多sys.argv而不是本地,这就是我的意思意味着:
def function(arg1, arg2):
list = []
for i in range(len(locals())):
list.append(locals()[i])
function(1,2)
如果你明白我的意思,你能告诉我这个问题的解决方案吗?感谢
答案 0 :(得分:5)
locals()
是一个字典,只需使用.values()
来获取所有的包含值:
list = locals().values()
但是,如果您的函数将来使用sys.argv
,请使您的函数使用位置参数:
def func(*args):
# args is a list of arguments
print args
func(1, 2)
答案 1 :(得分:0)
您是否有理由需要使用locals()
来获取sys.argv
的值?如果您正在解析命令行参数,可以查看argparse
?
http://docs.python.org/dev/library/argparse.html