在Python中过滤Windows文件名中的非法字符方法


Posted in Python onJune 10, 2019

网上有三种写法:

第一种(所有非法字符都不转义):

def setFileTitle(self,title):   
      fileName = re.sub('[\/:*?"<>|]','-',title)#去掉非法字符 
      self.file = open(fileName + ".txt","w+")

\非法字符必须转义,否则\/被解释为/

第二种(所有非法字符都转义):

def validateTitle(title):
  rstr = r"[\/\\\:\*\?\"\<\>\|]" # '/ \ : * ? " < > |'
  new_title = re.sub(rstr, "_", title) # 替换为下划线
  return new_title

第三种(部分非法字符转义):

private static Pattern FilePattern = Pattern.compile("[\\\\/:*?\"<>|]"); 
public static String filenameFilter(String str) { 
  return str==null?null:FilePattern.matcher(str).replaceAll(""); 
}

最佳写法:

pattern=r'[\\/:*?"<>|\r\n]+'

在[]中*不需要转义,此时*不表示多次匹配,就表示本身的字符

注意

文件夹名和文件名的字串中可以包含不是26个字母和数字的特殊字符,例如“┽┾┿╀╂╁╃ ”这个字串是可以命名成功的的,另一方面文件名首尾的空格要去掉,首尾的点号要去掉,特殊的空白符(如换行符和制表符)也要去掉。

python中strip(),lstrip(),rstrip()可以取出两端的某些特殊的字符。

以上这篇在Python中过滤Windows文件名中的非法字符方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
在Python中使用pngquant压缩png图片的教程
Apr 09 Python
Python实现数通设备端口使用情况监控实例
Jul 15 Python
Python 实现购物商城,含有用户入口和商家入口的示例
Sep 15 Python
将python代码和注释分离的方法
Apr 21 Python
python批量复制图片到另一个文件夹
Sep 17 Python
Python之修改图片像素值的方法
Jul 03 Python
用python写一个定时提醒程序的实现代码
Jul 22 Python
利用python实现短信和电话提醒功能的例子
Aug 08 Python
使用Python将图片转正方形的两种方法实例代码详解
Apr 29 Python
小 200 行 Python 代码制作一个换脸程序
May 12 Python
详解python中的闭包
Sep 07 Python
python接口测试返回数据为字典取值方式
Feb 12 Python
对Python 检查文件名是否规范的实例详解
Jun 10 #Python
java判断三位数的实例讲解
Jun 10 #Python
Python字符串的一些操作方法总结
Jun 10 #Python
利用selenium爬虫抓取数据的基础教程
Jun 10 #Python
Python 监测文件是否更新的方法
Jun 10 #Python
python实现随机漫步方法和原理
Jun 10 #Python
使用python判断jpeg图片的完整性实例
Jun 10 #Python
You might like
php下过滤html代码的函数 提高程序安全性
2010/03/02 PHP
PHP详解ASCII码对照表与字符转换
2011/12/05 PHP
php网站判断用户是否是手机访问的方法
2013/11/01 PHP
php获取淘宝分类id示例
2014/01/16 PHP
php+mysql+jquery实现日历签到功能
2017/02/27 PHP
PHP检查URL包含特定字符串实例方法
2019/02/11 PHP
PHP利用缓存处理用户注册时的邮箱验证,成功后用户数据存入数据库操作示例
2019/12/31 PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
2020/02/07 PHP
js函数的引用, 关于内存的开销
2012/09/17 Javascript
js Select下拉列表框进行多选、移除、交换内容的具体实现方法
2013/08/13 Javascript
Seajs的学习笔记
2014/03/04 Javascript
js判断一个字符串是否包含一个子串的方法
2015/01/26 Javascript
jquery密码强度校验
2015/12/02 Javascript
jQuery获取浏览器类型和版本号的方法
2016/07/05 Javascript
JS仿hao123导航页面图片轮播效果
2016/09/01 Javascript
webpack项目使用eslint建立代码规范实现
2019/05/16 Javascript
JS自定义对象创建与简单使用方法示例
2020/01/15 Javascript
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
Python获取当前页面内所有链接的四种方法对比分析
2017/08/19 Python
python使用magic模块进行文件类型识别方法
2018/12/08 Python
Python读取xlsx文件的实现方法
2019/07/04 Python
Python生命游戏实现原理及过程解析(附源代码)
2019/08/01 Python
Python实现大数据收集至excel的思路详解
2020/01/03 Python
Python 给下载文件显示进度条和下载时间的实现
2020/04/02 Python
在echarts中图例legend和坐标系grid实现左右布局实例
2020/05/16 Python
keras CNN卷积核可视化,热度图教程
2020/06/22 Python
python连接mongodb数据库操作数据示例
2020/11/30 Python
美国最大的网上冲印店:Shutterfly
2017/01/01 全球购物
颇特女士:NET-A-PORTER(直邮中国)
2020/07/11 全球购物
Ref与out有什么不同
2012/11/24 面试题
保安员岗位职责
2013/11/17 职场文书
应届电子商务毕业自荐书范文
2014/02/11 职场文书
航空学院求职信
2014/06/11 职场文书
应届生求职信范文
2014/06/30 职场文书
2014年社区党建工作总结
2014/11/11 职场文书
法院答辩状格式
2015/05/22 职场文书