我正在为单词游戏创建一个函数,我需要创建一个单词列表,该单词列表由一个名为wordlist.txt的文件组成。我的第一个想法是首先打开该文件并将打开的文件作为参数传递给我正在尝试创建的函数。但最后我意识到我的功能是返回所有单词的列表,并从打开的文件words_file中删除换行符。(甚至可以在python中使用?)。在其他每一行文件的每一行都包含一个标准英文字母的大写字母,但我想我是通过使用upper()和.split()得到的。 我非常坚持这一点。任何帮助都会有用。非常感谢你提前。 PS:我发现这个结构正在寻找有关这种读取文件的任何信息。 words_file = askopenfile(mode =' r',title ='选择单词列表文件')无论如何,Coul在这种情况下是否有用?
这是我的功能结构:
def read_words(words_file):
""" (file open for reading) -> list of str
Return a list of all words (with newlines removed) from open file
words_file.
Precondition: Each line of the file contains a word in uppercase characters
from the standard English alphabet.
"""
file = open("C:\Python34\wordlist.txt", "r")
return words_file.read(wordlilst.txt).replace("\n", "").upper().split()
答案 0 :(得分:0)
我假设您要使用参数words_file
作为文件来源。您的代码忽略它,将硬编码文件分配给file
,然后尝试在不存在的参数上调用read
。
我想这可能是你想要的:
def read_words(words_file):
words_list = [] # initialize empty word list
with open(words_file) as file: # open the file specified in parameter
# 'with' makes sure to close it again
for line in file: # iterate over lines
words_list.append(line.replace("\n", "")) # add every line to list
# ^ remove trailing newline, which iterating includes
return words_list # return completed list
要为您的文件运行它,请使用read_words("C:\Python34\wordlist.txt")
,它将返回列表。