0

我是 python 新手。我正在尝试使用 os.path.getsize() 来获取文件大小。但是,如果文件名不是英文的,而是中文、日文、法文等,Python 无法识别,也不返回文件的大小。你能帮我吗?如何让 Python 识别文件名并返回此类文件的大小?

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

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

我想使用" os.path.getsize(path)

但它不识别文件名。你能告诉我我该怎么做吗?

非常感谢!

4

2 回答 2

1

使用 Unicode 文件名并让 Python 将代码点编码为适合您系统的正确编码。

或者,您自己检测文件系统编码,并确保您的文件名在将它们传递给os.path.getsize()函数时使用该特定编码。

如果您还不知道 Unicode 是什么,或者它与编码有何关系,我敦促您阅读:

在你继续之前。

如果您在源代码中指定文字字符串,则需要确保已指定用于保存源代码的编解码器,并使用 unicode 文字:

# -*- coding: utf-8 -*-

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

指定您以 UTF-8 保存源代码,并且path变量应包含 Unicode 字符串(注意u''字符串文字)。

于 2013-07-01T17:54:21.360 回答
0

您可以使用以下代码解决您的问题:

import codecs

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

path=codecs.decode(path,'utf8') 
os.path.getsize(path)
于 2018-04-13T01:58:32.777 回答