zoukankan      html  css  js  c++  java
  • 读取文本长度为1的问题

    今天操作一批量数据切割后写入文件,运行到某一行时报错,如下图。不知道什么情况,于是打印长度,发现该长度为1,找文件查看详情,发现该行是个空行。

    问题来了,为什么空行的长度是1,而不是0呢?

    答案:文件读取后,他的类型是列表,列表里含有一个空的元素,所以此列表的长度是1,作为元素本身他的长度是0,再看下下图。

    代码:

    import re
    
    file ='rrr.txt'
    
    with open(file, "r", encoding="utf-8") as f:
        lines = f.readlines()
    
    with open("hh.txt", "w", encoding="utf-8") as a:
        for i in lines:
            print(len(i))
            pattern = r"([.*?])"
            guid = re.findall(pattern, i, re.M)
            print(guid)
            guid1 = guid[0].replace('[', '').replace(']', '')
            guid2 = guid[1].replace('[', '').replace(']', '')
            number = re.split(':', i)[-1]
    
            a.write(guid1 + "," + guid2 + "," + number)

     文件内容(只取出现问题的几行):


    一切技术都是为业务服务,脱离业务的技术一文不值!

  • 相关阅读:
    Amazon Route 53
    监控应用程序负载均衡器ALB
    DynamoDB 流
    DynamoDB 中的限制
    Amazon SNS 消息属性
    关于基于 SAML 2.0 的联合身份验证
    Amazon EBS 性能提示
    Laravel5.1注册中间件的三种场景
    编译LNMP环境
    傻瓜式搭建LAMP环境
  • 原文地址:https://www.cnblogs.com/bubutianshu/p/11288473.html
Copyright © 2011-2022 走看看