提供可变数量参数的python函数
问题描述
我有一个脚本,它从输入文件中读取可变数量的字段并将它们作为参数传递给函数.例如:
I have a script that reads a variable number of fields from an input file and pass them to a function as arguments. For example:
文件 1 包含字段:A、B 和 C => function(A,B,C)
file 1 with fields: A,B and C =>
function(A,B,C)
文件 N 包含字段:A,B,C 和 D => function(A,B,C,D)
file N with fields: A,B,C and D => function(A,B,C,D)
我的问题是:如何根据输入文件为函数提供正确数量的字段?
My question is: How to feed the function with the right number of fields accordingly to the input file?.
PD:当然函数接受任意数量的参数
PD: Of course the function accepts any number of arguments
解决方案
将字段(参数)读入列表,然后使用 参数解包:
Read the fields (arguments) into a list and then use 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')
>>>
相关文章