python 去除txt文本中的空格、数字、特定字母等

使用场景:需要去除txt文本中的空格、数字、特定字母等。

需要修改的txt文本叫做:train.txt
修改之后保存成:train_output.txt

# ecoding=utf-8
ifn = r"train.txt"
ofn = r"train_output.txt"

infile = open(ifn,'r')
outfile = open(ofn,'w') # 在使用write()函数的时候,如果文件打开模式带 b,那写入文件内容时,str (参数)要用 encode 方法转为 bytes 形式,否则报错。

for eachline in infile.readlines():
    #去掉文本行里面的空格、\t、数字(其他有要去除的也可以放到' \t1234567890'里面)
    lines = filter(lambda ch: ch not in ' \t1234567890', eachline) 
    outfile.write(lines) # 写入train_output.txt(此处是一股脑的全写进去,并没有做任何的分行处理)

infile.close()
outfile.close()

之前有小朋友反应会报出这样的错误:

TypeError: a bytes-like object is required, not 'filter'.

原因:在使用write()函数的时候,如果文件打开模式带 b,那写入文件内容时,str (参数)要用 encode 方法转为 bytes 形式,否则报错。打开模式写“w”就可以了。

  • 8
    点赞
  • 46
    收藏
    觉得还不错? 一键收藏
  • 21
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值