我在 Xonsh 中有一个函数,我试图像命令一样使用它(即:没有括号)。该函数应该可选地接受参数,但是每当我调用不带参数的函数时,我只会得到函数地址。如何调用带有可选参数的函数?
这是示例:
def _up(args, stdin=None):
# go up any number of directories
if not args or len(args) < 1:
args[0] = 1
balloons = ('../' * int(args[0]))
# echo @(balloons)
cd @(balloons)
aliases['up'] = _up
当我up
不带参数调用时,我得到<function __main__.up>
. 当我这样称呼它时,它可以工作:up 2
.
我可以做一个这样的函数,但是如果不使用括号(即:作为命令)我就不能调用它,这是我更喜欢的:
def up(dirs=1):
# go up any number of directories
balloons = ('../' * dirs)
# echo @(balloons)
cd @(balloons)
调用up()
andup(2)
都以这种方式工作,但比调用up
or更麻烦up 2
。在 Xonsh 中完成我想要做的事情的正确方法是什么?