python 目录下搜索
Python是一种开源的高级编程语言,有着广泛的利用,其中包括目录下搜索这个功能。 在Python中,我们可使用os模块和glob模块来查找和过滤目录和文件。下面是一些示例代码:
import os # 查找目录下的所有文件和子目录 def get_all_files_in_directory(path): for dirpath, dirnames, filenames in os.walk(path): for directory in dirnames: print(os.path.join(dirpath, directory)) for file_name in filenames: print(os.path.join(dirpath, file_name)) # 查找目录下的指定文件类型 def get_all_files_by_type(path, file_type): for dirpath, dirnames, filenames in os.walk(path): for filename in filenames: if filename.endswith('.' + file_type): print(os.path.join(dirpath, filename)) get_all_files_in_directory('.') get_all_files_by_type('.', 'py')
上述代码使用了os模块的walk函数来遍历目录下的所有子目录、文件及其路径。如果要过滤特定类型的文件,则需要进行文件名后缀匹配。上面的示例中,我们实现了两个函数,一个可以查找所有文件和子目录,另外一个可以查找目录下指定类型的文件。
再来看看glob模块的使用:
import glob # 查找目录下的所有文件 def get_all_files(path): files = [] files += glob.glob(path + '/*') for d in glob.glob(path + '/*/'): files += get_all_files(d) return files # 查找目录下的指定文件类型 def get_all_files_by_type(path, file_type): return glob.glob(path + '/*.' + file_type) print(get_all_files('.')) print(get_all_files_by_type('.', 'py'))
上述代码使用了glob.glob函数来匹配指定路径下的文件名,返回一个文件名列表。通过在文件名中添加通配符来匹配区别类型的文件。
在使用Python进行目录下搜索时,需要注意目录路径的正确性,遍历目录时需要注意异常处理,和应当避免遍历进程中产生的无穷循环,这些操作都需要谨慎实现。
文章来源:丸子建站
文章标题:python 目录下搜索
https://www.wanzijz.com/view/74122.html