在Python 3中print和click.echo之间的区别?

Her*_*kii 3 python command-line-interface python-3.x

我正在使用click模块为Unix终端创建CLI应用程序.所以我看到了两种显示数据的方法: print(data)click.echo(data)

他们和我应该使用什么有什么区别?

Zal*_*tik 7

请在使用之前至少阅读库的快速入门.答案在快速入门的第三部分.如果您使用click click.echo()是首选,因为:

单击尝试以相同的方式支持Python 2和Python 3,即使环境配置错误也非常强大.即使一切都完全被破坏,Click也希望至少在基本级别上起作用.

这意味着echo()函数应用了一些错误纠正,以防终端配置错误而不是死于UnicodeError.

另外一个好处是,从Click 2.0开始,echo函数也对ANSI颜色有很好的支持.如果输出流是文件并且支持colorama,它将自动剥离ANSI代码,ANSI颜色也适用于Windows.有关更多信息,请参阅ANSI颜色.

如果您不需要,还可以使用print()构造/函数.

  • 我们能否降低答案,减少被动攻击性?人们以不同的方式学习,在阅读快速入门指南之前尝试一些东西,或者在堆栈溢出上搜索特定答案都是完全有效的学习方法。 (6认同)
  • 虽然这在理论上可以回答这个问题,[最好](// meta.stackoverflow.com/q/8259)在这里包含答案的基本部分,并提供参考链接. (2认同)