私はこのようないくつかの例を見てきました:
for name in os.listdir(u'somedir') :
私の問題は、somedirを変数として取得していることです。では、どうすれば「u」リテラルを追加できますか?
何かのようなもの
for name in ops.listdir(u+somedir)
?
私はこのようないくつかの例を見てきました:
for name in os.listdir(u'somedir') :
私の問題は、somedirを変数として取得していることです。では、どうすれば「u」リテラルを追加できますか?
何かのようなもの
for name in ops.listdir(u+somedir)
?
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)を参照してください。
unicode(somedir)
例:組み込み関数を使用する
のソースがsomedir
Unicode 文字列として提供しない ( isinstance(somedir, unicode)
False) 場合は、適切な文字エンコーディングを提供してデコードする必要があります (バイトがどこから来るかによって異なります)。
unicode_somedir = somedir.decode(encoding)