gpt4 book ai didi

python - 为什么 python 看不到我对代码所做的更改?

转载 作者:太空宇宙 更新时间:2023-11-03 12:07:40 27 4
gpt4 key购买 nike

我正在尝试为 httpdomain Sphinx 文档扩展自定义解析器/词法分析器。我安装在给定的目录中,并将该目录添加到文档中提到的 sys.path。

然后我编译 Sphinx 文档,http 被正确突出显示。

现在,我需要对扩展程序做一些小改动。我首先对扩展程序目录中的 httpdomain.py 文件进行了随机更改,该文件正确地产生了语法无效的错误。

接下来,我通过将 HTTP token 替换为 HTTP(一个额外的 T)来更改词法分析器。我的想法是查看现在包含 HTTP 的文档中的条目是否突出显示而不是 HTTP。

问题是我所做的一切似乎都没有改变输出。 HTTP 继续变色,HTTP 被忽略。

这是包含我的更改的词法分析器部分:

tokens = {
'root': [
(r'(GET|POST|PUT|PATCH|DELETE|HEAD|OPTIONS|TRACE)( +)([^ ]+)( +)'
r'(HTTTPS?)(/)(1\.[013])(\r?\n|$)',
bygroups(Name.Function, Text, Name.Namespace, Text,
Keyword.Reserved, Operator, Number, Text),
'headers'),
(r'(HTTTPS?)(/)(1\.[013])( +)(\d{3})( +)([^\r\n]+)(\r?\n|$)',
bygroups(Keyword.Reserved, Operator, Number, Text, Number,
Text, Name.Exception, Text),
'headers'),

(r'([^\s:]+)( *)(:)( *)([^\r\n]+)(\r?\n|$)', header_callback),
(r'([\t ]+)([^\r\n]+)(\r?\n|$)', continuous_header_callback),
(r'\r?\n', Text, 'content')
],
'headers': [
(r'([^\s:]+)( *)(:)( *)([^\r\n]+)(\r?\n|$)', header_callback),
(r'([\t ]+)([^\r\n]+)(\r?\n|$)', continuous_header_callback),
(r'\r?\n', Text, 'content')
],
'content': [
(r'.+', content_callback)
]
}

请注意,“HTTP”已更改为“HTTP”,因此我希望包含 HTTP 的文档中的条目现在被着色,但没有任何变化。

我对文档文本进行了更改,并看到它们已在页面中更新,因此那里没有缓存问题。

我还删除了 Python 创建的名为 __pycache__ 的文件夹,结果没有任何变化。我还尝试注释掉词法分析器中的所有标记,没有任何变化。如果我插入无效的语法,那么它就会失败。如果语法正确,它似乎使用原始代码而没有我的更改。

是否还有其他缓存需要清理?

我是 Python 的新手,所以我在这里有点迷路。

PS:这个HTTP 东西只是一个测试。一旦我让它工作,我就会做出真正的改变。

最佳答案

事实证明可以看到代码更改,但从未使用过词法分析器,因为 Pygments 还注册了一个名为 html 的词法分析器。所以我用我的替换了它:app.add_lexer('http', HTTPLexer()) 我开始看到我的更改影响了生成的文档。

关于python - 为什么 python 看不到我对代码所做的更改?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23767615/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com