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

 更新时间:2019年06月10日 12:20:06   作者:Avalonist  
今天小编就为大家分享一篇在Python中过滤Windows文件名中的非法字符方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

网上有三种写法:

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

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文件名中的非法字符方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Django 中自定义 Admin 样式与功能的实现方法

    Django 中自定义 Admin 样式与功能的实现方法

    这篇文章主要介绍了Django 中自定义 Admin 样式与功能的实现方法,本文图文并茂给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-07-07
  • python读取txt文件中特定位置字符的方法

    python读取txt文件中特定位置字符的方法

    今天小编就为大家分享一篇python读取txt文件中特定位置字符的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • PyQt5实现从主窗口打开子窗口的方法

    PyQt5实现从主窗口打开子窗口的方法

    今天小编就为大家分享一篇PyQt5实现从主窗口打开子窗口的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python如何调用php文件中的函数详解

    python如何调用php文件中的函数详解

    这篇文章主要给大家介绍了关于python如何调用php文件中函数的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Python实战使用XPath采集数据示例解析

    Python实战使用XPath采集数据示例解析

    这篇文章主要为大家介绍了Python实战之使用XPath采集数据实现示例解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪<BR>
    2023-04-04
  • wxpython 学习笔记 第一天

    wxpython 学习笔记 第一天

    学习wxpython的朋友,可以看下,了解下wxpython
    2009-03-03
  • Python使用struct库的用法小结

    Python使用struct库的用法小结

    struct模块执行Python值和以Python bytes表示的C结构体之间的转换,这可以用于处理存储在文件中或来自网络连接以及其他源的二进制数据,下面介绍下Python使用struct库的用法,感兴趣的朋友一起看看吧
    2022-05-05
  • Python之requests高级用法详解

    Python之requests高级用法详解

    这篇文章主要介绍了Python之requests高级用法详解,http协议是无状态的, 服务器无法区分多个请求是否来自同一个人,因此需要用cookie来进行标识,一般如果需要登录才能访问的网站就需要发送cookie信息,需要的朋友可以参考下
    2023-10-10
  • python读取图片颜色值并生成excel像素画的方法实例

    python读取图片颜色值并生成excel像素画的方法实例

    这篇文章主要给大家介绍了关于python读取图片颜色值并生成excel像素画的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02
  • Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】

    Python函数基础实例详解【函数嵌套,命名空间,函数对象,闭包函数等】

    这篇文章主要介绍了Python函数基础,结合实例形式详细分析了函数嵌套,命名空间,函数对象,闭包函数等相关概念、原理、用法及操作注意事项,需要的朋友可以参考下
    2019-03-03

最新评论