python文件名清理

代码浏览器

在python中是否可以去除所有特殊字符和空格并用连字符替换但保留点扩展名(即文件扩展名,如.mp4或.mov或.txt或.jpg或.png或.pdf)

例如:

string = 'Special $#! characters   spaces_ 888323.mp4'

应该导致

Special-characters-spaces_-888323.mp4

我正在使用以下方法,但认为这不是正确的方法

re.sub('(\W+)','-', string).replace('-mp4','.mp4').replace('-mov','.mov')
疯狂的物理学家

如果它确实是您正在处理的文件名,请考虑使用os.path.splitext临时分离扩展名:

name, ext = os.path.splitext(string)

现在您可以自由操作name,保持ext完整:

name = re.sub('(\W+)','-', name)

然后你只需重新组合:

string = name + ext

如果这不是单行代码让您感到困扰,请将其变成一个函数。我还建议预编译正则表达式。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章