⼀、背景:在爬取⽹络⼩说⽣成的⽂件中,发现有些空格没法替换,使⽤⼗六进制编辑器查看,发现这些空格字符的⼗六进制值是“c2a0”,其来源是⽹页控制的特殊字符,这是⼀个叫做Non-breaking space的东西,⽤于阻⽌在此处⾃动换⾏和阻⽌多个空格被压缩成⼀个。就是 。 ⼆、替换的有效⽅法:使⽤place(u'\xa0',u'')命令即可
三、⽰例
(1)原始⽂件:1.txt
显⽰如下:(每⼀⾏前⾯都有四个“c2a0”,显⽰为4个空格,即显⽰?之处)
(base) [python@ELK ~]$
第⼀章预⾔
除了没⽤的⾁体⾃杀和精神逃避,第三种⾃杀的态度是坚持奋⽃,对抗⼈⽣的荒谬。 这是加缪,⼀个存在主义⼤师说的,云琅⾮常的认同这句话。
使⽤:%!xxd命令进⼊⼗六进制编辑状态,显⽰如下:
(base) [python@ELK ~]$
0000000: c2a0 c2a0 c2a0 c2a0 e7ac ace4 b880 e7ab ................
无烟烧烤炉
0000010: a0e9 a284 e8a8 800a 0ac2 a0c2 a0c2 a0c2 ................
0000020: a0e9 99a4 e4ba 86e6 b2a1 e794 a8e7 9a84 ................
0000030: e882 89e4 bd93 e887 aae6 9d80 e592 8ce7 ................
0000040: b2be e7a5 9ee9 8083 e981 bfef bc8c e7ac ................
信号处理0000050: ace4 b889 e7a7 8de8 87aa e69d 80e7 9a84 ................
0000060: e680 81e5 baa6 e698 afe5 9d9a e68c 81e5 ................
0000070: a58b e696 97ef bc8c e5af b9e6 8a97 e4ba ................
0000080: bae7 949f e79a 84e8 8d92 e8b0 ace3 8082 ................
0000090: 0a0a c2a0 c2a0 c2a0 c2a0 e8bf 99e6 98af ................
气相法白炭黑00000a0: e58a a0e7 bcaa efbc 8ce4 b880 e4b8 aae5 ................
00000b0: ad98 e59c a8e4 b8bb e4b9 89e5 a4a7 e5b8 ................
00000c0: 88e8 afb4 e79a 84ef bc8c e4ba 91e7 9085 ................
00000d0: e99d 9ee5 b8b8 e79a 84e8 aea4 e590 8ce8 ................
00000e0: bf99 e58f a5e8 af9d e380 820a ............多媒体互动教学系统
(2)替换代码:1.py
(base) [python@ELK ~]$ vi 1.py
# -*- coding:utf-8 -*-
import os
地中海果蝇f=open("1.txt","r")
ad()
place(u"\xa0", u'') #注意,此处"\xa0"不能输⼊为"\xc2\xa0"!
提前放电避雷针g=open("3.txt","w",encoding="utf-8")
g.write(str1)
(3)输出的新⽂件:3.txt
显⽰如下:(每⼀⾏前⾯的异常空格已不见了)
(base) [python@ELK ~]$
第⼀章预⾔
除了没⽤的⾁体⾃杀和精神逃避,第三种⾃杀的态度是坚持奋⽃,对抗⼈⽣的荒谬。
这是加缪,⼀个存在主义⼤师说的,云琅⾮常的认同这句话。