在下面的例子中,使用函數返回值以外定義函數
打印文件
輸出出來作爲None
。這是爲什麼?
topdir = 'some_directory'
exten = '.txt'
def step(ext, dirname, names):
ext = ext.lower()
for name in names:
if name.lower().endswith(ext):
return os.path.join(dirname, name)
files = os.path.walk(topdir, step, exten)
print files
請注意,程序找到正確的文件。我通過使用print
而不是return
來測試。這只是我無法檢索功能以外的信息。我希望文件是一個數組,所以我可以稍後在程序中使用它。謝謝!
好,更精確地說,是OP * *傳遞函數'step'作爲參數,而不是調用該函數並傳遞它的返回值。 – senshin
@ senshin正確,我稍微更新了我的答案以反映這種區別。 – MattDMo
感謝您的快速回復。我不知道step()給出了什麼參數。我是Python新手,在互聯網上找到了上面的例子。你能指導我嗎? – Rohit