去除\ufeff
方法一:改变读入的编码格式
- UTF-8
f = open('test.txt', encoding='UTF-8') # 打开文件,以 UTF-8 编码
l = []
for line in f:
l.append(line.strip())
print(l)
test文本
结果输出:
- UTF-8-sig
f = open('new2.txt', encoding='UTF-8-sig')
l = []
for line in f:
l.append(line.strip())
print(l)
结果输出
方法二:line.lstrip()
此外还可以用line.lstrip() 方法截掉字符串左边的空格或指定字符
f = open('test.txt', encoding='UTF-8') # 打开文件,以 UTF-8 编码,以utf-8开头会出现\ufeff形式的编码
l = []
for line in f:
l.append(line.lstrip("\ufeff"))
print(l)
测试结果
突然发现结尾还有一个\n,怎么整,这时候度娘告诉俺,可以用rstrip(),rstrip()用于删除 string 字符串末尾的指定字符(默认为空格)
好么,完美,lstrip()和rstrip()配合食用更香
代码改为以下这样就好啦
l.append(line.lstrip("\ufeff").rstrip('\n'))
结果如下
l.append(line.lstrip("\ufeff").rstrip('\n'))
结果如下