在文件对象中,方法“readline()”似乎在我的代码中不起作用

时间:2018-02-11 09:46:10

标签: python file methods python-3.6

def load_words():
    '''
    file_name (string): the name of the file containing 
    the list of words to load    

    Returns: a list of valid words. Words are strings of lowercase letters.

    Depending on the size of the word list, this function may
    take a while to finish.
    '''
    print('Loading word list from file...')
    # inFile: file
    in_file = open('words.txt', 'r')
    # line: string
    line = in_file.readline()
    # word_list: list of strings
    word_list = line.split()
    print('  ', len(word_list), 'words loaded.')
    in_file.close()
    return word_list


load_words()

上面的代码期望从名为“words.txt”的文件中加载单词并返回一个列表。似乎解释器读取文件但不加载单词。我不明白为什么。我想“readline()”方法会导致问题。我阅读了python文档,但这对我来说很模糊。

我想知道的是,为什么我的“行变量是空的?我猜不过。其他任何问题请注明。

哦...忘了提一下,python文件和word文件在同一个目录中。

Here is a picture of the output

提前致谢。

2 个答案:

答案 0 :(得分:0)

line = in_file.readline()

只读取文件中的一行作为字符串(自第一次调用以来的第一行)

line = in_file.readlines()

将文件中的所有行读作字符串列表

line = in_file.read()

将所有文件作为单个字符串读取。

我认为你想要的是in_file.read()

答案 1 :(得分:0)

这里你去...示例代码...尝试编码为suggsd

def function():
    word = []
    with open file as f:
        for line in f line.append(word)
    Close file