python – как добавить литерал unicode к переменной?

Я видел несколько примеров:

for name in os.listdir(u'somedir') : 

моя проблема в том, что я получаю somedir как переменную, так как я могу добавить литерал 'u'?

что-то вроде

 for name in ops.listdir(u+somedir) 

?

3 Solutions collect form web for “python – как добавить литерал unicode к переменной?”

Если источник somedir не somedir его как строку Unicode ( isinstance(somedir, unicode) является False), тогда вы должны декодировать его, предоставив соответствующую кодировку символов (это зависит от того, откуда берутся байты):

 unicode_somedir = somedir.decode(encoding) 

Учитывая исходную байтовую строку, вы можете преобразовать ее в объект unicode (Python 2.x) или объект str (Python 3.x), расшифровав его:

 for name in ops.listdir(somedir.decode("utf-8")): 

Используйте любую кодировку, в которой закодирована строка байта вместо "utf-8" . Если вы опустите кодировку, будет использоваться стандартная кодировка Python ( ascii в 2.x, utf-8 в 3.x).

Дополнительную информацию см. В Unicode HOWTO ( 3.x ).

Юникода (somedir)

например, использовать встроенную функцию

  • Словарь Python Gensim word2vec
  • JSON добавлен в базу данных как Unicode
  • Как исправить одну строку юникода, например «\ u8bf8 \ u845b \ u4eae» в python?
  • Python 3 дросселирует на CP-1252 / ANSI
  • Как работать с строкой unicode в URL-адресе в python3?
  • pandas to_sql дает ошибку декодирования Unicode
  • сообщение python-requests с именами файлов в unicode
  • 'str' не поддерживает буферный интерфейс Python3 из Python2
  • Отправить HTML-почту с помощью Unicode
  • Регулярные выражения и Unicode в Python: разница между sub и findall
  • Преобразовать hash.digest () в unicode
  • Python - лучший язык программирования в мире.