📅  最后修改于: 2023-12-03 14:40:06.300000             🧑  作者: Mango
在编写程序时,你经常需要操作文件。然而,如果你想从用户那里获取文件名,你会注意到它可能包含与文件系统不兼容的非法字符。这可能会导致不必要的麻烦,并且可能会导致逻辑错误。为了避免这种情况的发生,我们建议你使用 cleanFileName
函数。这个函数将处理文件名中的非法字符,并返回一个经过清理的文件名。让我们来看看如何使用它。
CleanFileName函数是如下:
import re
def cleanFileName(fileName: str) -> str:
"""
去除非法字符,返回一个可以用作文件名的字符串
"""
pattern = r'[\/\\\:\*\?\"\<\>\|]' # 这些都是非法字符
return re.sub(pattern, '', fileName)
cleanFileName
的实现很简单。它使用正则表达式 r'[\/\\\:\*\?\"\<\>\|]'
匹配多个非法字符,并使用 re.sub(pattern, '', fileName)
从文件名中删除这些字符。你可以像下面这样调用它:
fileName = 'my/file:name' # 包含非法字符
cleanName = cleanFileName(fileName)
print(cleanName) # 将输出'myfilename'
现在你已经了解了如何使用 cleanFileName
函数,你可以轻松地处理用户输入的文件名,并避免出现所谓的“非法文件名”导致的问题。