我有一个脚本,它从输入文件中读取可变数量的字段,并将它们作为参数传递给函数。例如:
文件1,包含字段:A,B和C =>
function(A,B,C)
文件N,其中包含字段:A,B,C和D =>
function(A,B,C,D)
我的问题是:如何根据输入文件为函数提供正确数量的字段?
PD:当然该函数接受任意数量的参数
答案 0 :(得分:2)
将字段(参数)读入列表,然后使用argument unpacking:
function(*fields)
以下是演示:
>>> def func(*args):
... return args
...
>>> fields = ["A", "B", "C"]
>>> func(*fields)
('A', 'B', 'C')
>>> fields = ["A", "B", "C", "D"]
>>> func(*fields)
('A', 'B', 'C', 'D')
>>>
答案 1 :(得分:1)
你应该使用这样的args和kwargs:
def foo(*args, **kwargs):
pass
以这种方式你可以得到位置和命名参数,args应该是一个值列表,持有位置参数,kwargs应该是一个字典,它的键是参数名称及其值