我有以下代码,试图避免在symspell.pkl
文件已加载到内存中后再加载该文件:
from symspellpy import SymSpell
if 'sym_spell' in globals():
print('sym_spell is already loaded!')
sym_spell = global()['sym_spell']
esle:
print('loading sym_spell...')
sym_spell = SymSpell(max_dictionary_edit_distance=5, prefix_length=7)
sym_spell.load_pickle('symspell.pkl')
但是python似乎总是执行else
语句,即使if
语句是True
以下是我的问题:
有人能解释为什么Python总是在这里执行else
语句吗
如果文件已经在Python中加载到内存中,那么我尝试的方法是否是跳过加载文件的正确方法?如果没有,还有更好的办法吗
我正在使用python3.8.2
提前谢谢
我正在发布我的补丁,以防它可能会有所帮助
经过多次尝试后,我使用
builtins
模块(而不是globals()
)使它工作起来 和try/except
语句,如下所示:我不明白您想做什么,但是
if
语句总是错误的,因为globals中没有“sym_拼写”。我想你是想检查“符号拼写”而不是“符号拼写”编辑:
不,我不认为有什么方法可以满足你的要求。但是如果你的文件非常大,你不想一次又一次地加载相同的数据。那么,这对你来说是最好的解决方案。Yoi可以查看Jupyter Lab或Jupyter Notebook。
Jupyter实验室:
Jupyter笔记本:
在这里,您可以一次加载数据,而无需导入该数据,就可以多次使用。您现在可以直接从浏览器中测试它,以查看它的性能。从那里开始official website。我想这对你很有用
相关问题 更多 >
编程相关推荐