在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中使用gzip模块压缩文件的简单教程
Apr 08 Python
python获取一组数据里最大值max函数用法实例
May 26 Python
Python中getattr函数和hasattr函数作用详解
Jun 14 Python
人工智能最火编程语言 Python大战Java!
Nov 13 Python
分数霸榜! python助你微信跳一跳拿高分
Jan 08 Python
Python字典创建 遍历 添加等实用基础操作技巧
Sep 13 Python
python英语单词测试小程序代码实例
Sep 09 Python
python读取多层嵌套文件夹中的文件实例
Feb 27 Python
基于PyQT实现区分左键双击和单击
May 19 Python
Python爬虫基于lxml解决数据编码乱码问题
Jul 31 Python
Python自动化测试基础必备知识点总结
Feb 07 Python
python实现黄金分割法的示例代码
Apr 28 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+FastCGI+Nginx配置PHP运行环境
2014/08/07 PHP
PHP实现QQ快速登录的方法
2016/09/28 PHP
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
jquery写个checkbox——类似邮箱全选功能
2013/03/19 Javascript
详解javascript传统方法实现异步校验
2016/01/22 Javascript
JS取模、取商及取整运算方法示例
2016/10/13 Javascript
巧用数组制作图片切换js代码
2016/11/29 Javascript
jquery 一键复制到剪切板的实例
2017/09/20 jQuery
vue.js根据代码运行环境选择baseurl的方法
2018/02/28 Javascript
微信小程序input框中加入小图标的实现方法
2018/06/19 Javascript
vuex的module模块用法示例
2018/11/12 Javascript
小程序点击图片实现自动播放视频
2020/05/29 Javascript
如何解决日期函数new Date()浏览器兼容性问题
2019/09/11 Javascript
koa-passport实现本地验证的方法示例
2020/02/20 Javascript
echarts柱状图背景重叠组合而非并列的实现代码
2020/12/10 Javascript
[18:20]DOTA2 HEROS教学视频教你分分钟做大人-昆卡
2014/06/11 DOTA
利用QT写一个极简单的图形化Python闹钟程序
2015/04/07 Python
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
Python实现生成随机数据插入mysql数据库的方法
2017/12/25 Python
如何在django里上传csv文件并进行入库处理的方法
2019/01/02 Python
Python学习笔记之While循环用法分析
2019/08/14 Python
python快速安装OpenCV的步骤记录
2021/02/22 Python
关于css兼容性问题及一些常见问题汇总
2016/05/03 HTML / CSS
html5各种页面切换效果和模态对话框用法总结
2014/12/15 HTML / CSS
AmazeUI 输入框组的示例代码
2020/08/14 HTML / CSS
FLIR美国官网:热成像, 夜视和红外摄像系统
2018/07/13 全球购物
会计电算化专业毕业生自荐信
2013/12/20 职场文书
大学生创业计划书的范文
2014/01/07 职场文书
网络编辑职责
2014/03/01 职场文书
音乐教育感言
2014/03/05 职场文书
实习单位鉴定评语
2014/04/26 职场文书
俞敏洪北大演讲稿
2014/05/22 职场文书
2015年实习单位评语
2015/03/25 职场文书
公司表扬信格式
2015/05/04 职场文书
一个都不能少观后感
2015/06/04 职场文书
瞿秋白纪念馆观后感
2015/06/10 职场文书