使用文本文件作为输入和输出的Python

2024-09-25 08:29:45 发布

您现在位置:Python中文网/ 问答频道 /正文

我是python新手,虽然我对Java和C非常熟悉,我正在尝试创建一个聊天机器人,当你使用它们时,它可以学习新单词。我有以下伪代码来存储它不知道的单词:

如果单词不在词典中,转到addword ... 添加文字 将单词存储在字典文本文件中 字典文本文件中的换行符。你知道吗

然后阅读和输出它,我会(现在)让它从列表中随机挑选一个单词,插入到句子字符串中。你知道吗

问题是,我不知道在python中用什么语法输入和输出文件。你知道吗

如果有人能给我指出正确的方向,那就太酷了。谢谢。你知道吗

编辑:谢谢,我拿到了。 我曾经

with open("file.txt") as f:
    lines = f.readlines()
print(lines[x])
print(lines[y])

Tags: 代码列表字典机器人java单词句子词典
1条回答
网友
1楼 · 发布于 2024-09-25 08:29:45

在python中,打开文本文件的synthax如下所示:

file_object = open('filename', 'mode')

在这里,模式可以是以下任一种:

  • 从第一行开始从文件中读取
  • ‘r+’从文件中读取,从第一行开始,并且能够 编辑信息
  • “a”附加到文件末尾(不修改现有 (数据)
  • “w”清除文件并写入,从第一行开始
  • 'a+'或'w+'追加,分别清除和截断文件,并能从中读取

要逐行浏览文件,可以将此命令与“with”关键字一起使用,如下所示:

with open('file/path/and/name.txt', 'mode') as words_file:
    for line in words_file:
        # do something to the line

这样可以确保在以“with”开头的块末尾,文件自动关闭。你知道吗


在您的特定情况下,您需要以“a+”模式打开文件,然后检查每一行是否与给定的单词匹配,如果不匹配,则使用命令“write”将其追加到结尾:

words_file.write(word_to_be_added)

对于第二部分,选择一个随机词,您可以将整个文件读入一个字符串,然后从中选择一个随机词,使用如下方法:

with open('file/path/and/name.txt', 'r') as words_file:
    words = (line.rstrip('\n') for line in words_file)
random_word = random.choice(words)

然后你可以在你的输出句子中使用随机的单词。你知道吗


This tutorial应该有助于了解更多细节。在将来,最好只搜索一个与你要做的事情相关的教程,然后自己尝试,然后在这里发布你可能遇到的问题。你知道吗

相关问题 更多 >