代码如下:
#encoding=utf-8 print '中国' #检查一个字符串是文本还是二进制 '''如果字符串中包含了控制或者其中有超过30%的字符高位为1那么就是二进制数据''' import string text = ''.join(map(chr,range(32,127))) + '\r\n\t\b' _null_trans = string.maketrans('','') def istext(s,text = text,threshold = 0.30): if '\0' in s: return False if not s: return True t = s.translate(_null_trans,text) #s中删除text中的字符 return len(t)/(len(s) * 1.0) <= threshold print istext('\0') print istext('12132132312') print 1/2 print 1//2 print 1/2.0 print 1/2 * 1.0 print 1/(2 * 1.0)
运行结果如下:
中国
False
True
0
0
0.5
0.0
0.5