代码之家  ›  专栏  ›  技术社区  ›  shantanuo

如何避免函数中的文件打开方法

  •  -1
  • shantanuo  · 技术社区  · 4 年前

    我有这个脚本,它按预期工作。

    https://github.com/shantanuo/Spell-Checker/blob/master/main.py

    但它非常慢,因为需要为每个单词打开csv文件。

    reader = csv.reader(open("en_bigram.csv"), delimiter = ' ')
    

    我想,我需要把那条线移出函数。但我不知道该放在哪里:)

    1 回复  |  直到 4 年前
        1
  •  1
  •   mhawke    4 年前

    如果不详细阅读所有异地代码(你应该把它发布在这里),你最好使用一个集合来存储你在设置时从CSV文件中读取的单词。然后,您可以测试会员资格 myword[0] 在集合中。

    with open("en_bigram.csv", newline='') as f:
        en_bigram = {row[0].strip() for row in csv.reader(f, delimiter = ' ')}
    

    随后:

    if myword[0] in en_bigram:
        result.append(right)