Pythonでファイルを読み込むための再帰関数を作成しようとしています。このファイルには、一種のツリー構造があります。ユーザーが最初のファイル名を入力します。ファイルには他のファイルのリストが含まれます。 `+ 'で始まる行は、+ symbolの後に続く行を意味します。これは、読み込みが必要な別のファイル名です。 +記号で始まらなければ、その行を印刷する必要があります。 以下のコードは再帰的に動作しません。一度にすべての行でPython2.7でファイルを読み込むための再帰関数
def readFile(filename):
print("Reading file: %s" % (filename))
f=open(filename,'r').readlines()
for i in f:
if i.startswith('+'):
readFile(i[1:].rstrip())
else:
print(i)
読み取りをし、その後ためのループでそれらを介して実行します。
def readFile(myfile):
print("FUnctionEntered\n",myfile)
fileOpen=open(myfile,'r')
for line in fileOpen:
if line.startswith('+'):
myfile=[line.lstrip('+') for line in fileOpen]
line.rstrip()
print(line,"\n")
readFile(line)
else:
print line
fileOpen.close()
return line
どうしたらうまくいかないのですか?すべてのエラー、またはどのファイルが印刷されていませんか? – Evert