在python中使用Recursion打开和打印文件

时间:2010-01-17 23:59:30

标签: python recursion

所以我正在尝试编写一个打开文件的代码,在该文件中可能为空或包含要在每行打开的其他文件的名称。例如。 1.txt有2.txt。在第一行和3.txt在第二行。 2.txt是一个空文件,3.txt在第一行有4.txt。我必须有一个输出打印代码运行的文件,如“打开1.txt..opening 2.txt等等,直到所有文件都打开。我遇到的问题是我的程序停止打印时,打开一个空的文件。看一下这个例子,我不知道如何让它在打开2.txt之后读取1.txt中的第二行(3.txt)并发现它是空的。

到目前为止我的代码是:(这是一个递归问题):

def search(doc):
    a=open(doc)
    b=a.readline()
    if line == "":
        print ("Visiting  " + doc)

    else:
        print ("Visiting  " + doc)
        open(b[:-1])
        search(b[:-1])

1 个答案:

答案 0 :(得分:4)

我将假设一行包含文件的完整路径。如果不是这种情况,那么您应该能够非常轻松地进行必要的路径修改。这是IS作业,所以我会让你自己解决这个问题

试试这个:

def search(doc):
    print "Visiting", doc
    f = open(doc, 'r')
    for line in f:
        if line.strip():
            search(line.strip())

干杯