我正在尝试重写一个同事制作的Perl脚本,你可以让你为目录添加书签。
它的工作方式是在文件夹中键入var familyTree = {
name: 'Alex',
children: [
{
name: 'Ricky',
children: [ ]
},
{
name: 'John',
children: [
{
name: 'Tom',
children: [ ]
}
]
}
]
};
var traverse = function(tree) {
console.log(tree.name);
for (var i = 0; i < tree.children.length; i++) {
traverse(tree.children[i]);
}
};
traverse(familyTree);
,在终端中的任何其他位置键入go add dir
,然后您将转到已添加书签的目录。
据我所知,go是一个使用以下代码调用perl脚本的bash函数:go dir
。似乎打印出除了dir以外的任何东西它打印STDERR。当我在python中使用sys.stderr.write()时,它打印出文本,但它也打印出cd (godir)
这是一个编辑,因为我原来的问题不够具体。 我实际上找到了解决方案: 我的fish函数将评估Python脚本返回的内容
cd: The directory 'None' does not exist
答案 0 :(得分:4)
在Python 2中,你可以这样做:
print >> sys.stderr, """Text to print"""
对于Python 3,语法为:
print("""Text to print""", file=sys.stderr)
当然,在两种情况下都需要import sys
来导入sys
模块。
答案 1 :(得分:0)
已回答here
我发现这是唯一的短+灵活+便携+可读:
from __future__ import print_function
...
def warning(*objs): print("WARNING: ", *objs, file=sys.stderr)