
python去除字符串中的特殊字符(爬虫存储数据时会遇到不能作为文件名的字符串)
发布日期:2021-05-09 01:25:58
浏览次数:13
分类:博客文章
本文共 700 字,大约阅读时间需要 2 分钟。
问题描述
今天在写爬虫爬取影评时,本来的思路把影评的标题作为文件名,将每个影评的详情内容写入到“标题.txt”文件中,直到我遇到了这个问题:
这时我突然意识到,文件名中有些字符是不能存在的,怎么解决这些问题呢?解决问题
首先想到的就是在创建文件时去除掉这些标题中的不能用的字符,机制的我赶紧去重命名了桌面上的一个文件,试图试验出那些字符,然后,机智的微软爸爸早已洞悉了一切,
也就是说文件名中不可以包含/ \ : * ? " < > |
这9个字符,因为考虑到直观性而且数据量不大,最简单的方法就是逐个过滤掉标题中的非法字符,即建立一个字典(这里的字典不是指python中的字典结构),对于每一个title都遍历一次,去除掉其中的非法字符,如下:
def correct_title(self, title): error_set = ['/', '\\', ':', '*', '?', '"', '|', '<', '>'] for c in title: if c not in error_set: title = title.replace(c, '') return title
如此,就使用字符串的replace()达方法到了预期效果.
总结
上述做法的主要目的是看着舒服,但实际上在使用和检索时效率不算高也不方便,具体如何做还是要看自己的需求来定.
还有就是需要注意一个点replace()是有返回值的,会返回结果,我一开始使用title.replace(c, '')没做赋值操作,结果没达到预期效果,找了一会儿才想到这个问题发表评论
最新留言
表示我来过!
[***.240.166.169]2025年04月19日 08时20分54秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Bugku CTF web29(Web)
2019-03-14
网络+图片加载框架(英文版)
2019-03-14
扣非净利润连续三年亏损,四维图新如何熬过“转型阵痛期”?
2019-03-14
前台报Invalid Host/Origin Header错误
2019-03-14
Python imageio方法示例
2019-03-14
Possible missing firmware
2019-03-14
算法的学习方式
2019-03-14
JAVA BigInteger和BigDecimal类常用方式
2019-03-14
深度学习框架 各种模型下载集合 -- models list
2019-03-14
双层卷积神经网络--tf
2019-03-14
six.move 的作用
2019-03-14
Django认证系统
2019-03-14
机器学习全教程
2019-03-14
ubuntu配置环境变量(变量不重复)
2019-03-14
idea在连接mysql数据库时区错误
2019-03-14
2021-05-14
2019-03-14
Kali-linux:nmap命令
2019-03-14
php端口直驱网络打印机,能自定义格式
2019-03-14
s3c2440 ads程序移植到keil中(一) 初步完成
2019-03-14