在文件命名时,经常遇到以下问题:
功能实现非常简单,文件名不可出现的字符为 /?"*<>| ,但是,这对一些形状相似的特殊符号没有任何影响,所以,只要将它们替换为 \/?"*<>︱ 就非常完美了,代码如下:
def FileName(STR):
for i,j in ("//","\\\","??","|︱","\""","**","<<",">>"):
STR=STR.replace(i,j)
return STR
print(FileName("\/?"*<>|"))
运行测试如下:
输出:\/?"*<>︱
这样就可以愉快的自由命名了
- 还可以用正则实现
import re
string = '\-\wqewqe,<->,|,“,”,/,/,:,:,:'
name = re.sub(r'[:/\\?*“”<>|]', '_', string)
print(name)
运行测试如下:
_-_wqewqe,_-_,_,_,_,_,_,_,_,_
还可以自定义函数:
def change_title(title):
pattern = re.compile(r"[\/\\\:\*\?\"\<\>\|]") # '/ \ : * ? " < > |'
new_title = re.sub(pattern, "_", title) # 替换为下划线
return new_title