File size: 891 Bytes
372531f
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
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)