Windows 系统的文件名中不能含有以下字符,否则会报错。
- 任何控制字符 (0-31)
- / 斜线(SLASH) (使用为路径分隔线;UNIX中的根目录符号)
- | 管道(PIPE)
- 反斜线(BACKSLASH) (使用为路径分隔线)
- ? 问号(QUESTIONMARK) (在Windows操作系统中使用为一个通配符)
- " 双引号(DOUBLE-QUOTATIONMARK) (这使用于标示含有空白字符的文件名称)
- * 星号(STAR) (在Windows操作系统中使用为通配符)
- : 冒号(COLON) (这使用于决定哪一个挂载点 / Windows操作系统中的磁盘)
- < 小于(LESS THAN)(原先由用户在主控台输入的消息改由文字档输入)
- > 大于(GREATER THAN)(原先输出至主控台的消息改输出至文字档)
- . 句点(可允许使用,但最后的句点会被诠释为扩展名的分隔)
import re
# ---------------------
def fix_name(filename):
intab = r'[?*/|:><"]'
filename = re.sub(intab, "", filename)
return filename
filename = '/"y"un*?hu.jpg'
print('处理前:' + filename)
filename = fix_name('/yunhu.jpg')
print("处理后: " + filename)
三、结果
处理前:/"y"un*?hu.jpg 处理后: yunhu.jpg



