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:
Taken from user gx
Obviously adapt to your situation.
source
share