Функция Python, чтобы сделать произвольные строки допустимыми именами файлов - PullRequest
3 голосов
/ 09 марта 2011

Существует ли встроенная функция, которая удаляет из строки все символы, которых нет в именах файлов Windows, или заменяет их каким-либо образом?

например. function("Some:unicode\symbols") -> "Some-unicode-symbols"

1 Ответ

5 голосов
/ 09 марта 2011
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 Очевидно, адаптироваться к вашей ситуации.

...