python批量删除特定字符_python入门第十四课:批量清除文件中的干扰字符

本教程使用的课本是《Python编程:从入门到实践》,作者:[美] Eric Matthes

相信很多人有批量处理文本内容的需求,比如从网上下载了很多文本文件,但里面有些文字需要去除,用Python的OS类可以轻松实现。

比如在一个tmp目录中有三个文本文件,但文件的内容有一些“干扰字符”,我们要批量将这些字符去除,见下面截图。

清除干扰字符的思路是这样的:

1、一次只打开一个文件

2、一次性读取这个文件内容,并存储在一个字符串变量中。

3、用字符串替换函数,将“干扰字符”替换掉。

4、清空文件内容。

5、将替换后的字符串重新写入文件中。

具体的代码如下:

importospath ="D:\\tmp\\abc\\"dirs = os.listdir(path)# ---------------------批量替换文件内容-----------------------forfile indirs:withopen(os.path.join(path,file), 'r+') asf:s = f.read() s = s.replace("干扰字符", "").replace("干扰字符2", "").replace('干扰字符3','') #从前向后替换 f.seek(0, 0) #指针移到文件头 f.truncate() #清空文件 f.write(s) print(s)

Python代码解释:

1、path是要操作的目录,windows的路径中需要用两个反斜杠

2、函数os.listdir(path)是返回path目录中的所有文件列表,列表的元素是不包含路径的文件名。

3、for file in dirs:这句就是我们的for循环,遍历列表元素。

4、接来下用with as语句打开每个文件,os.path.join(path,file)的作用是组合路径和文件名,得到绝对路径,参数“r+”是读写方式打开。

5、接下来用f.read()函数读出所有文件内容,存储在字符串变量s中。

6、用s.replace()函数替换指定的字符串,第一个参数是要被替换的内容,第二个参数是替换成什么内容,这里我们替换成空值。多个replace()的执行顺序是从左到右,所以“干扰内容2和3”中的数字没变替换,如果写成这样,就能完全清除了:s = s.replace("干扰字符3", "").replace("干扰字符2", "").replace('干扰字符','')

7、f.seek(0, 0) 将文件的指针移动到文件开始的位置。

8、用f.truncate()清空文件。

9、用f.write(s)写入替换后的内容。

本文描述了如何使用python的os类进行文件的遍历,并批量进行文件内容的替换os类还有非常多的方法,有兴趣的大家可以自行百度。对于字符串的遍历,还可以使用正则表达式进行匹配替换,会强大很多,后续有机会再单独讲解,大家也可以自己百度。

#Python入门教程#

长按文末点赞送三连,支持本文作者多写点~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值