从生成器python返回文件对象

时间:2016-01-10 17:19:47

标签: python xml replace generator

我正在使用以下内容来阅读文件并让我编辑文件中的一行

haystack = open('myxml.xml') 

def needlefinder(file):
    for line in file:
        if 'MyTag' in line:
            line = line.replace('alt="1"','alt="0"')
            #print line

    needle = needlefinder(haystack)
    print needle

我想知道如何将文件作为字符串返回?我想基本上编辑这行,并返回整个编辑过的文档。

2 个答案:

答案 0 :(得分:1)

只需将所有行放在liststring)中,然后在函数末尾返回,就像这样:

def needlefinder(file_):
    lines = list()
    for line in file_:
        if 'MyTag' in line:
            line = line.replace('alt="1"','alt="0"')
        lines.append(line)
    return lines

haystack = open('myxml.xml')
needle = needlefinder(haystack)
print needle

答案 1 :(得分:-1)

如果您询问如何以字符串形式返回任何内容,请添加str()

return(str())