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:
# ...
Взято у пользователя gx Очевидно, адаптироваться к вашей ситуации.