1

我是 Python 新手。我正在尝试输入一个路径并用于os.walk()搜索所有文件,并返回文件名。我还想用来os.path.getsize()获取文件大小,最后将它们写入 csv 文件。

但是,如果文件名不是英文,而是中文、德文、法文等,Python就无法识别,也不返回文件的大小。我想使用os.path.getsize(path)(参考下面的示例),但它无法识别文件名。如何让 Python 识别文件名并返回此类文件的大小?

例如:文件名是:"Показатели естественного и миграционного прироста до 2030г.doc".path="C:\xxxx\xxx\xxxx\Показатели естественного и миграционного прироста до 2030г.doc"

4

1 回答 1

3

如果您将 Unicode 输入传递给您,os.walk()您也会以 Unicode 形式返回文件名。

以下内容应该适合您

your_base_path = u"C:\\Directory" # note this is Unicode
for root, dirs, files in os.walk(your_base_path):
    for f in files:
         print os.stat(os.path.join(root, f)).st_size
于 2013-08-07T14:39:33.853 回答