pythonunicode-literals

python - how to add unicode literal to a variable?


I've seen some examples like this:

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

my problem is that I'm getting the somedir as a variable, so how can I append the 'u' literal?

something like

for name in ops.listdir(u+somedir)

?


Solution

  • If the source of somedir doesn't provide it as a Unicode string (isinstance(somedir, unicode) is False) then you should decode it by providing an appropriate character encoding (it depends on where the bytes come from):

    unicode_somedir = somedir.decode(encoding)