使用 arg 列表调用 python callable
简单的问题:如何将任意参数列表传递给 python 可调用对象?
假设我想从命令行调用一个函数,如下所示:
my_script.py foo hello world
使用以下脚本:
import myfuncs
f = getattr(myfuncs, sys.args[1])
if f and callable(f):
# This is the bit I don't know. I effectively want f(sys.args[2:])
我确信有一种方法可以做到这一点,但我必须忽略它。
Simple question: How can I pass an arbitrary list of args to a python callable?
Let's say I want to invoke a function from the command line, like so:
my_script.py foo hello world
with the following script:
import myfuncs
f = getattr(myfuncs, sys.args[1])
if f and callable(f):
# This is the bit I don't know. I effectively want f(sys.args[2:])
I'm sure there's a way to do this, but I must be overlooking it.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您正在寻找序列解包。即
f(*sys.argv[2:])
You are looking for sequence unpacking. I.e.
f(*sys.argv[2:])
是的,请查看文档中的解压参数列表部分。
对于您的特定用途,它可能是这样的
Yep, check out the section Unpacking argument lists in the docs.
For your particular use, it could be something like this