有没有办法从 Python 中的单独文本文件中选择某些元素?



我已经开始用Python制作字谜求解器,但是由于我使用了很多单词(英语词典中的每个单词(,我不希望它们在我的Python文件中作为数组,而是将它们放在一个名为dictionaryArray2.txt的单独文本文件中。

我可以轻松地导入我的文本文件并使用 Python 在屏幕上显示我的话,但我找不到从数组中选择特定元素而不是全部显示它们的方法。

当我这样做print(dictionary[2])它打印整个文件的第二个字母而不是数组的第二个元素时。我从来没有收到任何错误。它只是不起作用。

我已经尝试了多种方法,但它们都具有相同的输出。

我的代码如下:

f = open("dictionaryArray2.txt", "r")
dictionary = f.read()
f.close()
print(dictionary[2])

如果要将dictionaryArray2的内容拆分为单独的单词,请执行以下操作:

f = open("dictionaryArray2.txt", "r")
dictionary = f.read()
f.close()
print(dictionary[2])

如果要将 dictionaryArray2 的内容拆分为单独的行,请执行以下操作:

f = open("dictionaryArray2.txt", "r")
dictionary = f.readlines()
f.close()
words = dictionary.split()
print(words[2])

我认为问题是,您将整个文件读取到一个长列表中。如果你的输入字典是每行一个单词,我认为你想要的是得到这样的文本文件:

apple
bat

像这样:

dictionary = ['apple', 'bat']

有一个现有的答案可能会提供一些有用的代码示例,但简而言之,f.read()将读取整个文件对象f。 另一方面,f.readlines()一次迭代一行。

引用官方的Python文档:

如果要读取列表中文件的所有行,也可以使用list(f)f.readlines()

最新更新