我怎样才能添加到选定的短语的理货?(How can I add to the tally of a

2019-10-19 06:22发布

所以,我希望能够加入到包含在一个文件中的某些短语的相符。 但是我有哪里开始毫无头绪。

让我来解释一下:

我有一个名为.txt文件setPhrases.txt 。 该文件包含以下在它:

What is your name?, 9
What time is dinner?, 8
Thank-You., 9
I have done all my homework., 7
Can you bring me a drink Please?, 6
Hi my name is Dave., 10

我目前能够采取(n)的顶部短语(因此,具有最高计数的)的数量,并在屏幕上的框中显示它们。

如果用户选择了最大的箱(在这种情况下,一个说:“嗨,我的名字是大卫。”在它),那么它会显示在顶部屏幕/盒。 正如你可以看到如下:

一旦用户决定他/她选择他们想要那么他们就会按OK,然后应识别屏幕上的短语/短语,应由+1添加到符合文件中的短语。

  • 因此,在这种情况下, Hi my name is Dave. 理货,就上浮了一个并改为11,将被保存到文件: Hi my name is Dave., 11而不进行任何更改到任何该文件中的其他短语。

下面是完整的代码。 (有时是更容易有完整的代码。)

这是它检查是否该部分OK已被按下,然后继续上:

elif textSelected == "OK":
    self.deletePanes()
    self.createPhrases()

这是我如何打开文件:

def get_n_nouns(self, n):

    #Returns the n most common nouns

    with open("setPhrases.txt") as in_file:
        reader = csv.reader(in_file)
        data = [[row[0], int(row[1])] for row in list(reader)]

    return sorted(data, key=lambda x: -x[1])[:n]

这是我写的,以窗格/盒:

def createPhrases(self):

    print("createPhrases")
    self.deletePanes()

    self.show_keyboard = False
    self.show_words = False
    self.show_phrases = True
    self.show_terminal = True

    words = self.get_n_nouns(2)
    for word, count in words:
        self.addPane("{}: {}".format(word, count), WORDS)
    self.addPane("Boxes", PHRASE)
    self.addPane("Keyboard", PHRASE)
    self.addPane("OK", PHRASE)
    self.drawPanes()

任何帮助或意见,我们非常感激。

Answer 1:

你应该存储你所读取的数据CSV阅读列表中,这样修改的时候,你可以创建一个作家,写文件。

with open("setPhrases.txt") as out_file:
    writer = csv.writer(out_file)
    for row in file_rows:
        spamwriter.writerow(row[0],row[1])

你可以找到正确的值通过列表搜索查找的字符串,该用户点击,或存储所显示的串的indicies递增。



文章来源: How can I add to the tally of a chosen phrase?