Python编程,输入一个字符串关键字,输入一个路径,递归遍历该路径,搜索所有文件名或文件目录中带有字符串关键字的文件,并输出这些文件或目录的完整路径

代码片:

import os

def search_files_with_string(target_string, directory):
    for root, dirs, files in os.walk(directory):
        for file in files:
            if target_string in file:
                file_path = os.path.join(root, file)
                print(file_path)
        for dir in dirs:
            if target_string in dir:
                dir_path = os.path.join(root, dir)
                print(dir_path)

# 输入目标字符串和路径
target_string = input("请输入字符串关键字:")
directory = input("请输入路径:")

# 调用函数进行搜索并打印结果
search_files_with_string(target_string, directory)

以上的Python代码实现了一个函数search_files_with_string,该函数用于递归搜索指定目录下包含指定字符串的文件名或目录名,并打印出它们的完整路径。

首先,使用import os导入了os模块,这是Python中用于与操作系统进行交互的模块。

然后定义了search_files_with_string函数,接受两个参数:target_stringdirectorytarget_string是要搜索的字符串关键字,directory是搜索的路径。

在函数内部,使用os.walk函数遍历给定路径下的所有子目录和文件。os.walk会返回一个三元组(root, dirs, files),其中root表示当前正在遍历的目录路径,dirs是该目录下的子目录列表,files是该目录下的文件列表。

接下来,使用两个嵌套的for循环遍历文件和目录。对于每个文件和目录,检查是否包含了目标字符串target_string,如果存在,则使用os.path.join(root, file)os.path.join(root, dir)得到完整的路径,并将其打印出来。

最后,在主程序部分,通过input函数获取用户输入的目标字符串和路径,并调用search_files_with_string函数进行搜索并打印结果。

你可能感兴趣的:(python代码块,python,开发语言)