0

Pythonでは、Ascii名のフォルダーを削除できます。import shutil shutil.rmtree('folder_name') しかし、フォルダー名に「今年将不再」のような Unicode 文字が含まれていると、次のエラーが表示されます。指定されたパスが見つかりません。この場合、フォルダを削除する解決策はありますか。感謝!

4

1 に答える 1

2

Unicode 文字列を使用します。ソース ファイルのエンコーディングを指定し、文字列で非 ASCII 文字を指定する場合は、実際にソース ファイルをそのエンコーディングで保存するようにしてください。

# coding: utf-8
import os
os.remove(u'美国人.txt')
os.rmdir(u'马克')

os.listdirまたはなどのコマンドを使用してプログラムでファイルのディレクトリを読み取る場合はos.walk、Unicode を使用してディレクトリを指定しないと、Unicode ファイル名を取得できません。

>>> os.listdir('.')
['???.txt', '??']

対。

>>> os.listdir(u'.')
[u'\u7f8e\u56fd\u4eba.txt', u'\u9a6c\u514b'] # Unicode escapes are 美国人and 马克.
于 2013-04-25T05:28:50.090 に答える