从文件对象Python中获取文本

2024-09-30 10:26:51 发布

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

我是一个尝试学习Python的学生,但在将一个文件对象转换为文本时,我遇到了难题。我的代码是:

def file2table(filename, mycaption=None):

    with open(filename, 'r') as file:
        return lists2table(file, mycaption)

def lists2table(mylists, mycaption=None):

    result = '<table>\n'
    if mycaption != None:
        result += '<caption>' + mycaption + '</caption>\n'
    result += list2THrow(mylists[0]) + '\n'
    for item in mylists[1:]:
        result += list2TDrow(item) + '\n'
    result += '</table>'
    return result

错误是:

^{pr2}$

Tags: 文件对象nonereturndeftableresultfilename
2条回答

查看您的代码,您似乎希望使用文件。现在您将file对象传递给函数lists2table,然后尝试将其作为一个列表下标,这就是为什么要这样做错误。你可以尝试使用以下任何方法

def file2table(filename, mycaption=None):

    with open(filename, 'r') as file:
        return lists2table(file.readlines(), mycaption)

readlines()返回文件中的行列表。 或者可以在函数中传递file对象

^{pr2}$

这里有一行:

with open(filename, 'r') as file:
        return lists2table(file, mycaption)

在本例中,file是一个文件对象,而不是内容。为了得到文本,你需要做file.read()

相关问题 更多 >

    热门问题