首页 > 解决方案 > 查看 string.maketrans 的输出

问题描述

这是在 Python 2.7 中。string.maketrans 函数应该返回一个翻译映射,它是一个正好为 256 个字符的字符串。

为什么我用 print 命令看不到这个字符串?

allchars = string.maketrans('','')
print 'all chars are = ', allchars

这个的输出是空白的。

我可以使用这个:

print repr(allchars)

这将返回表格,但我想知道为什么 print 不会显示任何内容

标签: python

解决方案


请注意,翻译表中的大多数字符是不可打印的。您可以将它们发送到终端,但它们不会完全按照您的期望进行。

这是我使用 Python 2.7.15rc1 得到的结果:

>>> out = string.maketrans('', '')
>>> print out



 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~��������������������������������������������������������������������������������������������������������������������������������

换句话说,一个ASCII表,后面跟着一堆废话(试图解码127以上的字节)。


推荐阅读