Python 3.x 使用python docx模块重编MS word文件并将其保存回时某些字符编码的更改

Python 3.x 使用python docx模块重编MS word文件并将其保存回时某些字符编码的更改,python-3.x,python-docx,Python 3.x,Python Docx,我正在读一个word文件(word文件只是有一个巨大的表),在表中的每一行后面插入一个空行并将其保存回去。保存后,新文件的某些字符发生了更改。我猜编码正在发生变化 这是我用来阅读和保存它的代码 def insert_row_in_table(table): empty_row = get_empty_row(table) # this function will return an empty row for row in table.rows: tr = row

我正在读一个word文件(word文件只是有一个巨大的表),在表中的每一行后面插入一个空行并将其保存回去。保存后,新文件的某些字符发生了更改。我猜编码正在发生变化

这是我用来阅读和保存它的代码

def insert_row_in_table(table):
    empty_row = get_empty_row(table) # this function will return an empty row
    for row in table.rows:
        tr = row._tr
        tr.addnext(copy.deepcopy(empty_row))


def convert(file: str):
    doc = docx.Document(file)
    row_c = 0
    for table in doc.tables:
        insert_row_in_table(table)

    # save file
    file_name = os.path.splitext(file)
    new_name = file_name[0] + '_updated' + file_name[1]
    doc.save(new_name)
这是我比较两个文件时的外观(左侧:原始文件,右侧:更新文件)


如何保留字符编码或避免此问题?

您得到的是原始字符的UTF8表示。检查您的输出编码。@usr2564301保存文件时有没有办法指定编码?我找不到任何以编码为参数的save()方法。