代码如下:
#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