Python:keyrerror:";没有名称为'的样式;引号Char'&引用;

Python:keyrerror:";没有名称为'的样式;引号Char'&引用;,python,styles,python-docx,Python,Styles,Python Docx,(Python 3.7、Python docx 0.8.6) 最近,我正在一个网站上学习Python关于Python docx的知识。该网站的URL为。运行以下代码时出现一个错误 import docx, os os.chdir('C:\\') doc = docx.Document('demo.docx') doc.paragraphs[1].runs[0].style = 'Quote Char' 错误内容为:KeyError:“没有名为'Quote Char'的样式” 我发现有人有同样

(Python 3.7、Python docx 0.8.6)

最近,我正在一个网站上学习Python关于Python docx的知识。该网站的URL为。运行以下代码时出现一个错误

import docx, os
os.chdir('C:\\')

doc = docx.Document('demo.docx')
doc.paragraphs[1].runs[0].style = 'Quote Char'
错误内容为:KeyError:“没有名为'Quote Char'的样式” 我发现有人有同样的问题,URL是:

我查看了pythondocx文档(),发现“Quote Char”确实存在于(默认模板中的字符样式)

此外,PythonDocx0.8.6文档提到:尽管这些样式显示在UI中,但它们实际上并不在您创建的文档中,至少在您第一次使用它之前是这样

所以我有两个问题:

(1) 内置样式中是否存在字符样式“Quote Char”。如果是,第一次如何使用“Quote Char”样式

(2) 我无法理解所谓的潜在风格。内置样式和潜在样式之间有什么区别


感谢您的阅读。

在Word中,有许多内置样式,您可以从中选择,而无需定义它们。这些被称为潜在样式,因为它们在首次使用之前未在文档中定义。每个这样的样式在使用之前都是隐藏在文档中的,此时它在文档中被明确定义。这可以防止大量未使用的样式添加到文档文件大小,同时允许用户从一组连贯的样式中进行选择,而无需实际详细定义任何样式

潜在样式的实际定义由Word应用程序在首次使用该样式时执行<另一方面,code>pythondocx只能使用实际定义的样式;它不能像Word那样将这些潜在样式之一添加到文档中

因此,如果要使用名为“Quote Char”的样式,请在使用
python docx
打开文档之前使用Word将其添加到文档中,或者在尝试使用它之前使用
python docx
样式API自己定义它


如果添加段落并为其指定潜在样式,则该样式将添加到文档中。但是,删除该段落时,样式仍保留。一旦明确定义,样式永远不会被Word自动删除。这是在文档中获得显式定义的潜在样式版本的最简单方法。

在Word中,有许多内置样式可以选择,而无需定义它们。这些被称为潜在样式,因为它们在首次使用之前未在文档中定义。每个这样的样式在使用之前都是隐藏在文档中的,此时它在文档中被明确定义。这可以防止大量未使用的样式添加到文档文件大小,同时允许用户从一组连贯的样式中进行选择,而无需实际详细定义任何样式

潜在样式的实际定义由Word应用程序在首次使用该样式时执行<另一方面,code>pythondocx只能使用实际定义的样式;它不能像Word那样将这些潜在样式之一添加到文档中

因此,如果要使用名为“Quote Char”的样式,请在使用
python docx
打开文档之前使用Word将其添加到文档中,或者在尝试使用它之前使用
python docx
样式API自己定义它


如果添加段落并为其指定潜在样式,则该样式将添加到文档中。但是,删除该段落时,样式仍保留。一旦明确定义,样式永远不会被Word自动删除。这是在文档中明确定义潜在样式版本的最简单方法。

谢谢您的回答。您说过,如果我想使用名为“Quote Char”的样式,我应该在使用python docx打开文档之前使用Word将其添加到文档中。现在我的问题是,我可以在Python中使用名为“Quote”的段落样式。此外,在我的Word软件中,名为“Quote”的样式可以应用于段落和字符。在Word中使用“引用”样式之后。错误仍然存在。感谢您的回答。您说过,如果我想使用名为“Quote Char”的样式,我应该在使用python docx打开文档之前使用Word将其添加到文档中。现在我的问题是,我可以在Python中使用名为“Quote”的段落样式。此外,在我的Word软件中,名为“Quote”的样式可以应用于段落和字符。在Word中使用“引用”样式之后。错误仍然存在。