Python函数使任意字符串成为有效的文件名

Fel*_*bek 3 python windows string filenames

是否有内置函数从字符串中删除所有不能在Windows文件名中的字符或以某种方式替换它们?

例如function("Some:unicode\symbols")- >"Some-unicode-symbols"

Elx*_*lxx 5

import re

arbitrary_string = "File!name?.txt"
cleaned_up_filename = re.sub(r'[/\\:*?"<>|]', '', arbitrary_string)
filepath = os.path.join("/tmp", cleaned_up_filename)

with open(filepath, 'wb') as f:
    # ...
Run Code Online (Sandbox Code Playgroud)

取自用户gx
显然适应你的情况.