Python读物的Unicode文件夹和文件名(Python reading unicode fol

2019-10-18 11:14发布

我是新来的Python。 我想输入一个路径和使用os.walk()来搜索所有文件,并返回文件的名称。 我也想用os.path.getsize()获取文件的大小,最后,它们写入到一个CSV文件。

然而,如果文件名不是英文,但在中国,德国,法国等,Python不能识别它,并不会返回文件的大小。 我想使用os.path.getsize(path) (参照下面的例子),但是它不能识别该文件的名称。 我怎样才能让Python的识别该文件的名称,并返回这些类型的文件的大小?

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

Answer 1:

如果你传递一个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


文章来源: Python reading unicode folder and file names