如何将单词表加载到Python中

2024-04-20 06:58:27 发布

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

我正在麻省理工学院开放式课程中学习Python编程入门课程。在这个问题集上,我得到了一些代码和一个文本文件。代码和文本文件在同一个文件夹中。代码如下:

import random 
import string

def load_words( ): 
       print "Loading word list from file..." 
       inFile = open (WORDLIST_FILENAME, 'r', 0) 
       line = inFile.readline( ) 
       wordlist = string.split (line) 
       print " ", len(wordlist), "words loaded." 
       return wordlist

def choose_word (wordlist): 
       return random.choice (wordlist)

wordlist = load_words ( )

当我按原样运行代码时,问题集说明会告诉我:

^{pr2}$

但是由于某些原因,当我运行代码时,我得到:

Loading word list from file... 
1 words loaded

我试着从open函数的输入中省略第二个和第三个参数,但是没有用。有什么问题吗?在

而且,当我试图打印wordlist的值时,我得到

['AA']

当我在相关函数的上下文中打印line的值时,我得到:

AA

文本文件确实以'AA'开头,但是后面的字母怎么办?在


Tags: 代码importstringdeflineloadrandom课程
3条回答

你写的函数可以在一行里读单词。它假设所有单词都是在文本文件中的一行中写入的,所以读取该行并通过拆分它来创建一个列表。但是,您的文本文件似乎也包含一些新行。因此,u可以将以下内容替换为:

line = inFile.readline( ) 
wordlist = string.split (line) 

有:

^{pr2}$

line = inFile.readline( )应该是readlines(),复数。
readline将只读取一行。只读取一个单词的原因。
使用readlines()将给您一个由输入文件中的新行字符分隔的列表。在

原始文件如下:

cat wordlist.txt                                                                                                                                     
aa
bb
cc
dd
ee

python文件如下:

^{pr2}$

则结果:

python load_words.py                                                                                                                                 
Loading word list from file...
  5 words loaded.
aa
bb
cc
dd
ee

相关问题 更多 >