1、打印出目錄下全部的文件函數
使用遞歸來實現對象
os模塊:os.listdir('.') 列出目錄下的文件遞歸
os.path.isdir()判斷是不是一個目錄io
os.path.isfile()判斷是不是一個文件import
os.path.jion('')用路徑鏈接文件匿名函數
代碼以下:基礎
import os import sys def print_files(path): lsdir=os.listdir(path) dirs = [i for i in lsdir if os.path.isdir(os.path.join(path,i))] files = [i for i in lsdir if os.path.isfile(os.path.join(path,i)) ] if files: for f in files: print(os.path.join(path,f)) if dir(): for d in dirs: print_files(os.path.join(path,d)) print_files(sys.argv[1])
2、匿名函數lambda
lambda 函數是一種快速定義單行的最小函數,能夠用在任何須要函數的地方。file
#普通函數 def fun(x,y): return x*y #lambda版本: l = lambda x,y:x*y print (l(2,3))
匿名函數的優勢:im
基礎:
lambda中,冒號前是參數,能夠有多個,逗號隔開,冒號右邊是返回值。
lambda語句構建實際上是一個函數對象。
reduce內置函數
使用lambba和reduce計算1-100累加:
reduce (lambda x,y:x + y,range(1,101))