我正在运行 Sympathy for Data,这是一个基于 python 的程序。直到今天它都运行良好。我收到这样的错误消息:
File "..\Python27\lib\site-packages\win32com\client\__init__.py", line 11, in <module>
import gencache
File >"..\Python27\lib\site-packages\win32com\client\gencache.py", line 662, in <module>
_ _init_ _()
File >"..\Python27\lib\site-packages\win32com\client\gencache.py", line 56, in _ _init_ _
_LoadDicts()
File "..\Python27\lib\site-packages\win32com\client\gencache.py", line 109, in _LoadDicts
version = p.load()
EOFError
Run Code Online (Sandbox Code Playgroud)
我在这里找到了一个基本上有相同问题的答案,但该解决方案对我不起作用。我在网上找到的所有解决方案都提供相同的解决方案,删除 _gen_py_ 文件夹下的内容。
我不必使用 Sympathy 运行任何程序来获取数据。即使我打开随 Sympathy for data 一起提供的 iPython,我也会收到此错误消息。
在这种情况下我真的很绝望,有人可以帮我解决吗?
我正在使用 VScode 并创建我自己的语言扩展来突出显示语法,我需要使用正则表达式来查找注释。
基本规则是后面的所有内容!都是注释,但是有一个特殊情况。当!在内部eval()命令时,它意味着 NOT。
例如,我的一些代码如下所示:
if condition=(eval(!DB_EXIST)) ! this is a comment
(eval( !DB_UPDATED && !DB_EXIST)) !---"!" inside eval() means NOT
!this is another comment
<some commands> ! this is also a comment
Run Code Online (Sandbox Code Playgroud)
第!DB_EXIST1 行和第 2 行不应该被解释为注释,并且!后面会跟一个非空格。
注释中的空格无关紧要。
"comments": {
"patterns" [{
"match":"regex1",
"name":"comment"
}]
},
"operator": {
"patterns" [{
"match":"regex2",
"name":"keyword.operator.NOT"
}]
},
Run Code Online (Sandbox Code Playgroud)
我应该使用什么样的正则表达式 1 和 2 来显示不同的评论颜色而不是?
我不擅长这个扩展写作,所以如果有更好的方法来完成这项工作,我将不胜感激。谢谢!
更新
@Gama11 帮助了我,但我没有完全涵盖我的代码示例中的所有情况。“!”之后的任何非空格 也应该是注释,只要“!” 不在 eval() 内。