所以我正在尝试编写一个打开文件的代码,在该文件中可能为空或包含要在每行打开的其他文件的名称。例如。 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])
答案 0 :(得分:4)
我将假设一行包含文件的完整路径。如果不是这种情况,那么您应该能够非常轻松地进行必要的路径修改。这是IS作业,所以我会让你自己解决这个问题
试试这个:
def search(doc):
print "Visiting", doc
f = open(doc, 'r')
for line in f:
if line.strip():
search(line.strip())
干杯