📜  clean FIleName 替换非法字符 (1)

📅  最后修改于: 2023-12-03 14:40:06.300000             🧑  作者: Mango

为你的文件名中的非法字符找到解决方案:cleanFileName

在编写程序时,你经常需要操作文件。然而,如果你想从用户那里获取文件名,你会注意到它可能包含与文件系统不兼容的非法字符。这可能会导致不必要的麻烦,并且可能会导致逻辑错误。为了避免这种情况的发生,我们建议你使用 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 函数,你可以轻松地处理用户输入的文件名,并避免出现所谓的“非法文件名”导致的问题。