欢迎访问宙启技术站
智能推送

PythonCLI实战:创建一个简单的文件搜索工具

发布时间:2023-12-18 04:56:44

PythonCLI是基于Python编写的命令行界面工具,可以用于创建各种实用程序、工具和程序。在这里,我们将创建一个简单的文件搜索工具,用于在指定的文件夹中搜索文件并返回搜索结果。

首先,我们需要导入必要的Python模块,如os和argparse。os模块将帮助我们执行与操作系统相关的任务,而argparse模块将帮助我们处理命令行参数。

import os
import argparse

接下来,我们可以定义一个函数来搜索文件。该函数将接受两个参数:待搜索的文件夹路径和要搜索的文件扩展名。在函数中,我们将使用os模块的walk函数来递归遍历文件夹中的所有文件和子文件夹。然后,我们将检查每个文件的扩展名是否与给定的扩展名匹配,并将匹配的文件路径添加到结果列表中。

def search_files(folder, ext):
    results = []
    for root, dirs, files in os.walk(folder):
        for file in files:
            if file.endswith(ext):
                results.append(os.path.join(root, file))
    return results

接下来,我们可以定义一个main函数,并使用argparse模块来解析命令行参数。我们将为搜索文件夹路径和文件扩展名定义两个命令行参数。然后,我们将调用search_files函数,并将搜索结果打印到控制台。

def main():
    parser = argparse.ArgumentParser(description='Simple File Search Tool')
    parser.add_argument('folder', type=str, help='Folder to search')
    parser.add_argument('ext', type=str, help='File extension to search for')
    args = parser.parse_args()
    
    folder = args.folder
    ext = args.ext
    
    results = search_files(folder, ext)
    
    if results:
        print('Search results:')
        for result in results:
            print(result)
    else:
        print('No matching files found.')

最后,我们需要在脚本的末尾加上一行代码,以确保main函数在脚本直接运行时被调用。

if __name__ == '__main__':
    main()

现在,我们可以将脚本保存为search_files.py,并在命令行中运行它。我们需要提供要搜索的文件夹路径和文件扩展名作为命令行参数。

例如,如果我们希望在名为"files"的文件夹中搜索扩展名为".txt"的文件,我们可以执行以下命令:

python search_files.py files .txt

该脚本将搜索"files"文件夹中的所有".txt"文件,并将搜索结果打印到控制台。

这就是一个简单的文件搜索工具的例子。你可以根据需要对其进行修改和扩展,以满足特定的搜索需求。