Python提取某字符串中的特殊0


以下例程:涉及文件读写、字符串处理


规则:提取64bit的数即8个byte中,每个byte的高4位为0时,去掉此高四位

将测试数写入test.txt,内如如下

d2065197970e3225
d206519797e03225
d260519797e03225
d286519797003225
d286519790003225
0086519797e03200



try:
    f_r = open("test.txt",'r')
    line = f_r.readline()  
    size = len(line)
    f_w = open("res.uid",'w')
    while line: 
        line_tail = line
        line_head = ''
        #print line_tail
        res = line_tail.find('0')
        while res>=0:       
            #print res
            if  res%2==0:                    
                line_head = line_head + line_tail[0:res]+line_tail[res+1]                      
                line_tail = line_tail[res+2:]       
            else:
                line_head = line_head + line_tail[0:res+1]      
                line_tail = line_tail[res+1:]           
            #print line_head
            #print line_tail
            res = line_tail.find('0')
        res_line = line_head+line_tail
        f_w.write(res_line)
        line = f_r.readline()
finally:
    f_r.close()
    f_w.close()



输出的res.uid,结果如下:

d2065197970e3225
d206519797e03225
d260519797e03225
d286519797003225
d286519790003225
0086519797e03200

符合要求


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值