zoukankan      html  css  js  c++  java
  • ptyhon读文件一行长度len为1022,出现\x00

    网上查了一下,这是一个为了补齐文件,而使用的特殊符号。如果用python的读文件语句readline(),读出的内容一行的长度手机是1022,而除了文件真实的一行内容,其他的全是\x00,而一般一行的内容是\n结尾的,所以你只需用string类型的find(\n)找到结束位置赋给end;然后再用split功能[0:end],以提取真实内容。

    如果你用过滤函数要小心,当心去掉的可以识别的结束符。

    另外,字符串里有三个去空格的函数,可以先处理一下。
    strip 同时去掉左右两边的空格
    lstrip 去掉左边的空格
    rstrip 去掉右边的空格

    还有需要注意的是,在windows和linux下的区别,两个系统下的文件结尾是有区别的:

    Unix系统和Mac系统里,每行结尾只有“<换行>”,即“\n”;而Windows系统里面,每行结尾是“<换行><回车>”,即“\n\r”;这就产生了一影响,Unix/Mac系统下的文件在Windows里打开的话,所有文字会变成一行;而Windows里的文件在Unix/Mac下打开的话,在每行的结尾可能会多出一个^M符号。

    这是真实会遇到的问题,我和同事从云中获取的cookie串,经过处理后,就会有^M符号,在核对合法性时一直报错。检查了几遍不知道从哪来的,将文件打印出来也看不出是什么问题。后来打印出文件的acsii码,才发现出来了对应的\r的值,才知道原因。


     

  • 相关阅读:
    JavaScript中的面向对象
    操作文件
    PDO 数据访问抽象层
    Jquery事件
    Jquery
    面向对象的五大基本原则是
    ioc依赖注入的原则
    java3
    java基础2
    java基础
  • 原文地址:https://www.cnblogs.com/cl1024cl/p/6205707.html
Copyright © 2011-2022 走看看