微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

testingterminal是否支持伪数据

我正在写一个Python程序,它将一些数据列表为标准输出,如果terminal支持它,我想使用奇妙的Unicode盒子绘制字符 。

现在有三种方法可以做到这一点:

盲目输出Unicode,并希望用户不会得到一个垃圾,或屏幕

始终使用ASCII或

错误:当在Linux上使用OpenGL编译C ++程序时,“GL / glfw3.h:没有这样的文件或目录”

如何使C计时器在Linux中的特定系统时间到期

如何在Linux中获取内存中的修改通知

jenkinspathgit Windows主/ Linux的奴隶

我如何优雅地退出X11事件循环?

做一些检查,并在必要时回退到ASCII。

我可以做什么检查? 我能想到的最好的方法是检查terminal是否有UTF-8语言环境。 但是,这既不是必要也不是充分的条件,因为用户可能没有任何支持箱体字符的字体; 否则他可能会使用支持线条绘制字符的不同语言环境。

sed行号范围与指定的“反转”范围

信号处理程序在C中停止定时器

如何写一个自我replace/更新二进制文件

Linuxembedded式(ARM)内存吞吐量低

如何用python脚本启动/终止应用程序?

您可以在try/except块中使用sys.stdout.encoding测试您的字符,以查看输出编码是否支持字符:

#!python3 #coding:utf8 import sys try: '┌┬┐╔╦╗╒╤╕╓╥╖│║─═├┼┤╠╬╣╞╪╡╟╫╢└┴┘╚╩╝╘╧╛╙╨╜'.encode(sys.stdout.encoding) test = True except UnicodeEncodeError: test = False if not test: print('Unsupported characters in',sys.stdout.encoding)

输出

C:>chcp 437 C:>test C:>chcp 1252 Active code page: 1252 C:>test Unsupported characters in cp1252

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐