在编程中,常常涉及到操作文件、目录。本文利用递归函数和Python中os模块实现打印当前目录以及当前目录的所有子目录下指定文件类型的绝对路径。
递归函数
在函数内部,可以调用其他函数。如果一个函数在内部调用自身本身,这个函数就是递归函数,使用递归函数的优点是逻辑简单清晰。
假设要打印出文件类型中包含py字符串的所有文件的绝对路径,代码如下:
def print_directory_contents(sPath):
import os
key='py'
lists = []
cur_path = os.path.abspath(sPath)
for f in os.listdir(cur_path):
file_path = os.path.join(cur_path,f)
if os.path.isfile(file_path):
if file_path.find(key) != -1:
lists.append(file_path)
elif os.path.isdir(file_path):
lists.append(print_directory_contents(file_path))
return lists
print(lists)