如何从 python 中的 zip 文件中的配置文件写入捷克字符?

How to write czech characters from configuration file in zip file in python?

我需要在 zip 文件中用捷克语写一些文本。捷克语文本存储在 config.ini 中,如下所示:

[txt]
content_bez = UPOZORNĚNÍ: V tomto katastrálním území není provedena digitalizace katastrální mapy. 

据我了解,首先我需要将字符串文本转换为字节才能写入 zip。我是这样得到的:

content_bez_bytes = config['txt']['content_bez'].encode()

然后我尝试创建这样的文本文件:

        with ZipFile(each_zip, 'a') as z:
            with z.open(text_path, 'w') as tx:
                tx.write(content_bez_bytes)

其中 each_zip 是我要创建文本文件的每个 zip 文件,text_path 是我正在创建的文本文件的路径。但我在结果文本文件中得到的是:

UPOZORNÄšNĂŤ: V tomto katastrálnĂm ĂşzemĂ nenĂ kompletnÄ› provedena digitalizace katastrálnĂ mapy.

.

但它工作得很好,当我像这样将捷克语文本直接写入代码时:

content_bez = "UPOZORNĚNÍ: V tomto katastrálním území není provedena digitalizace katastrální mapy."
content_bez_bytes = content_bez.encode()

所以我猜它必须与配置文件的转换有关。我确实在代码和配置文件的开头都插入了它,但没有改变:

#!/usr/bin/env python
# -*- coding: utf-8 -*-

.

有人知道我哪里出错了吗?

我想通了。

读取配置文件时,我需要使用:

config.read(file, encoding='utf-8')

不只是

config.read(file)