-1

基本的に印刷する関数を作成しようとしています:

file1

file2

file3

file4

file5

file6

file7

私が入るとき:

C = [['file1', [['file2']], ['file3', 'file4', 'file5']], 'file6', ['file7']]

ディレクトリのようなものになるはずです。

これが私のコードです:

def tree_traverse(directory) :

    list1 = list(directory)
    for it in list1 :
        if it == 'Cc' :
            del(list1[:(list1[it]+3)])
    for item in directory :
        print(item)

上記の入力を入力するたびに、C は予期しない引数であるというエラーが表示されます。また、上記の入力を「C =」なしで入力すると、入力したように出力されます。私は何をすべきかでかなり迷っています。

4

3 に答える 3

1

これにより、必要に応じてリストがフラット化されます。

C = [['file1', [['file2']], ['file3', 'file4', 'file5']], 'file6', ['file7']]

def getFiles(container):
    for f in container:
        if isinstance(f, list):
            for fArray in getFiles(f):
                yield fArray
        else:
            yield f

print "".join("%s\n" %f for f in list(getFiles(C)))
于 2013-08-08T02:27:16.693 に答える
0

関数には引数が呼び出されないため、というキーワード引数Cを渡すことはできません。代わりに使用するか、オブジェクトを通常の引数として渡します。Cdirectory=...

C = ...
tree_traverse(C)
于 2013-08-08T02:01:37.037 に答える