第一句子大全,网罗天下好句子,好文章尽在本站!

如何用python去除文件名中的特殊字符

时间:2009-03-25

因为这些字符系统有特殊的用途,有的用于重定向,有的用于管道符,有的用于路径,如果夹杂在文件名中,系统就没法正常处理,所以在程序中保存文件的时候

友情提示:本文共有 45 个字,阅读大概需要 1 分钟。

Windows操作系统中,有些字符是不能用在文件名的,主要所有如下这几个:[?*/|.:><]。

因为这些字符系统有特殊的用途,有的用于重定向,有的用于管道符,有的用于路径,如果夹杂在文件名中,系统就没法正常处理,所以在程序中保存文件的时候,文件名不能包含上述字符。

具体的去除思路:是在文件名中查找是否存在这些字符,如果存在就将该字符删除。最直接的方法是按特殊字符一个一个查找删除,而今天我们要介绍使用正则表达式的方法进行去除,可以减少很多代码量。

代码如下:

import re

#去除文件名中的特殊字符

def fixname(filename):

intab = r"[?*/|.:><]"

filename = re.sub(intab, "", filename) # 用正则表达式去除windows下的特殊字符,这些字符不能用在文件名

return filename

title = r"?测*试>文件<名"

title = fixname(headtitle)

print(title)

输出结果:测试文件名

代码说明:

1、import re是导入正则表达式需要的库

2、intab = r"[?*/|.:><]"定义了待删除的字符列表,要用r""包含起来,这样就不用进行转义

3、 re.sub(intab, "", filename) 第一个参数intab是待删除的字符列表,第二个参数""是个空字符串,

用来替换第一个参数,第三个参数filename是待处理的文件名。

应用场景:

1、网页上获取的标题往往有特殊字符,因此需要进行过滤,否则会保存失败。

2、从网页上获取的内容如果有特殊字符,也可以用这种方法去除。

#Python入门教程#

本文如果对你有帮助,请点赞收藏《如何用python去除文件名中的特殊字符》,同时在此感谢原作者。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。
相关阅读
python之“文件操作”

python之“文件操作”

...细节如下:file_name:file_name变量是一个包含了你要访问的文件名称的字符串值。access_mode:access_mode决定了打开文件的模式:只读,写入,追加等。所有可取值见如下的完全列表。这个参数是非强制的,默认文件访问模式为只读(r...

2014-09-03 #经典句子

从零学习Python—import语句

从零学习Python—import语句

...实这里比较好理解,就跟网站的站名理解是一样,前面是文件名,后面是要调用的代码)由于import 的用法和之前不一样,这里就多啰嗦了几句。有了import 之后,我们写代码可以更简单,有一些模板的代码,你可以放在一个文件...

2023-07-04 #经典句子

GB/T 40216-2021 英文版智能仪器仪表的数据描述属性数据库通用

GB/T 40216-2021 英文版智能仪器仪表的数据描述属性数据库通用

...XCEL两种类型。8.2数据交换格式8.2.1文件命名规则交换数据文件名由数据包类型、日期、顺序号等五部分组成:a) 数据包类型:数据包分类代码,由4个字符组成;b) 日期:数据交换的日期,由8个字符组成,格式为CCYYMMDD;c) 顺序...

2024-01-13 #经典句子

python代码结构:使用if语句 while循环和for迭代 附详细说明!

python代码结构:使用if语句 while循环和for迭代 附详细说明!

...释可以单独一行,也可与代码同行,同行放在代码后面。特殊说明:(1)Python没有多行注释的符号。需要明确地在注释部分的每一行开始处加上一个#。(2)如果#出现在文本串中,将回归普通字符#的角色2.使用连接程序在合理...

2023-10-26 #经典句子

小白都能学会的Python技术 解决csv和txt的文件处理 提高效率!

小白都能学会的Python技术 解决csv和txt的文件处理 提高效率!

...文件的名称,这个提取方法,咱们用filenames用来保存所有文件名称的,看代码:filenames = os.listdir(path)# 获取读取文件的名称通过三个步骤,就可以取到所有文件的名称了,整个代码如下所示:import ospath = "D:" #为了测试的,这个...

2024-01-19 #经典句子

Python 为什么要有 pass 语句?

Python 为什么要有 pass 语句?

...Indentation​Error: expected an indented block# 将函数体的 pass 去除,会报错def func():func()因为 Python 使用缩进来划分代码块(至于原因,请查阅《Python为什么使用缩进来划分代码块?》),而冒号标识着要出现新的缩进代码块,所以这...

2013-04-28 #经典句子

知道跨文化交际答案

知道跨文化交际答案

...保存该表单文件,在弹出的“另存为”对话框中输入表单文件名“bdl”,保存在考生文件夹下,然后运行表单。(2)【操作步骤】①选择【文件】→【打开】命令,打开考生文件夹下的数据库“教材”。②选择【文件】→【新建】...

2023-04-29 #经典句子

每日一书:《数据结构与算法:Python语言实现》PDF 中文超清版

每日一书:《数据结构与算法:Python语言实现》PDF 中文超清版

...合的概念、运算和抽象数据类型2828.4.2集合的实现2838.4.3特殊实现技术:位向量实现2858.5Python的标准字典类dict和set2868.6二叉排序树和字典2878.6.1二叉排序树2888.6.2**二叉排序树2958.6.3一般情况的**二叉排序树2978.7平衡二叉树3028.7.1定...

2011-12-29 #经典句子