Shreyas094's picture
Upload 528 files
372531f verified
import re
def sanitize_filename(filename: str) -> str:
"""
Sanitize a given filename by replacing characters that are invalid
in Windows file paths with an underscore ('_').
This function ensures that the filename is compatible with all
operating systems by removing or replacing characters that are
not allowed in Windows file paths. Specifically, it replaces
the following characters: < > : " / \\ | ? *
Parameters:
filename (str): The original filename to be sanitized.
Returns:
str: The sanitized filename with invalid characters replaced by an underscore.
Examples:
>>> sanitize_filename('invalid:file/name*example?.txt')
'invalid_file_name_example_.txt'
>>> sanitize_filename('valid_filename.txt')
'valid_filename.txt'
"""
return re.sub(r'[<>:"/\\|?*]', '_', filename)