现在的位置: 首页 > 综合 > 正文

001_011 Python 检查一个字符串是文本还是二进制

2018年02月15日 ⁄ 综合 ⁄ 共 479字 ⁄ 字号 评论关闭

代码如下:

#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

抱歉!评论已关闭.