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)

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


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

  • 相关阅读:
    JAVA课堂作业(七)
    java继承
    JAVA课堂数组
    JAVA字符加密
    JAVA课堂验证
    JAVA随机数与方法重载
    JAVA语法基础课堂例子验证
    参数求和过程
    大道至简第二章读后感
    【复习笔记】数据结构-图
  • 原文地址:https://www.cnblogs.com/bubutianshu/p/11288473.html
Copyright © 2011-2022 走看看