zoukankan      html  css  js  c++  java
  • 根据控制字符读取文件

    在甲乙双方确定好的接口文件中,数据文件的数据分隔符为0x00,0x1B,换行分隔符为0x0A,使用python进行文件解析时,需要对此类编码进行编译解析才可以对接口文件进行读取。可以以以下函数对分隔符进行解析:chr()

    测试案例说明:

    testascii.txt文件中数据以 | 分隔,换行符是 。

    testascii2.txt文件中数据以0x00,0x1B分隔,换行符是0x0A。

    import traceback
    
    enterStr = 0x0A
    txtStr = 0x00, 0x1B
    
    txtStr = [chr(num) for num in txtStr]
    txtSplit = ''
    for chrStr in txtStr:
        txtSplit += chrStr
    enterSplit = chr(enterStr)
    
    try:
        f = None
        with open("testascii.txt", 'r') as f:
            lines = f.read()
            lines_2 = lines.replace('|', txtSplit)
            lines_2 = lines_2.replace('
    ', enterSplit)
            with open("testascii2.txt", 'w') as f_2:
                f_2.writelines(lines_2)
                f_2.close()
            lines = lines.split(enterSplit)
            print len(lines)
            f.close()
        with open("testascii2.txt", 'r') as f_2:
            enterStr = 0x0A
            lines = f_2.read()
            lines = lines.split(enterSplit)
            print len(lines)
            for line in lines:
                print line.split(txtSplit)
            f_2.close()
    except Exception, e:
        traceback.print_exc()
    

    运行结果:

    在原文件testascii.txt文件中,内容如下例:

    在之后的文件testascii2.txt中,内容变化如下:

    并且两个文件的数据条数一致

    ---恢复内容结束---

  • 相关阅读:
    bzoj1648
    bzoj3404
    bzoj1650
    bzoj1625
    bzoj1606
    bzoj1464
    bzoj1572
    bzoj1617
    bzoj1092
    bzoj1091
  • 原文地址:https://www.cnblogs.com/fengzzi/p/10037183.html
Copyright © 2011-2022 走看看