我在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()
和up(2)
都是这样的,但比起只调用up
或up 2
要麻烦得多。在Xonsh中完成我想要做的事情的正确方法是什么?
转载请注明出处:http://www.yojatech.com/article/20230526/1605488.html