### 编写一个程序,用户输入文件名以及开始搜索的路径,搜索该文件是否存在,如果遇到文件夹,则进入该文件夹继续搜索

- input 去接受用户输入的文件名和开始搜索的路径

- os.path.isdir 去判断是不是文件夹,如果是的话,就需要进入该文件夹继续搜索,循环调用一下我们的函数来实现

import os
start_dir = input("请输入目录:")
target = input("请输入文件名:")
def search_file(start_dir, target):
    os.chdir(start_dir) #切换到用户输入的路径
   
    for each_file in os.listdir(os.curdir):
        if each_file == target:
            print(os.getcwd() + "\\" + each_file)
        if os.path.isdir(each_file):
            search_file(each_file, target) # 递归调用
            os.chdir(os.pardir)
           
search_file(start_dir, target)
----------------------------------------------
二、
#### 对上述题目加一些需求,模糊匹配,判断我们的target是否包含在某一个文件中
- in  去判断target这个字符串是否在文件的名字中
import os
start_dir = input("please input start directory:")
target = input("enter  your file name")
def search_file(start_dir, target):
    os.chdir(start_dir)
   
    for each_file in os.listdir(os.curdir):
        if target in each_file:
            print(os.getcwd + os.sep + each_file)
        if os.path.isdir(each_file):
            search_file(each_file, target)
            os.chdir(os.pardir)
           
search_file(start_dir, target)
-------------------------------------------------------------------------------
### 在加一个需求,上述题目,我们需要保存我们的文件存在的地方,到我们指定的路径
 
- file I/O 写文件
import os
start_dir = input("please input start directory:")
target = input("enter  your file name")
backup = []
def search_file(start_dir, target):
    os.chdir(start_dir)
   
    for each_file in os.listdir(os.curdir):
        if target in each_file:
            backup_file = os.getcwd() + os.sep + each_file
            print(os.getcwd + os.sep + each_file)
        if os.path.isdir(each_file):
            search_file(each_file, target)
            os.chdir(os.pardir)
           
rd = search_file(start_dir, target)
f = open(os.getcwd + os.sep + "backup.txt", "wb")
f.write("\n",join(rd)).encode("UTF-8")
f.close()
#print(rd)

Python---进阶---文件操作---搜索文件和保存搜索结果的更多相关文章

  1. Python文件操作:文件的打开关闭读取写入

    Python文件操作:文件的打开关闭读取写入 一.文件的打开关闭 Python能以文本和二进制两种方式处理文件,本文主要讨论在Python3中文本文件的操作. 文件操作都分为以下几个步骤: 1.打开文 ...

  2. C++ 学习笔记之——文件操作和文件流

    1. 文件的概念 对于用户来说,常用到的文件有两大类:程序文件和数据文件.而根据文件中数据的组织方式,则可以将文件分为 ASCII 文件和二进制文件. ASCII 文件,又称字符文件或者文本文件,它的 ...

  3. Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录

    Java IO,io,文件操作,删除文件,删除文件夹,获取文件父级目录 这里先简单的贴下常用的方法: File.separator //当前系统文件分隔符 File.pathSeparator // ...

  4. python进阶(4)文件操作

    文件操作 文件操作主要包括对文件内容的读写操作,这些操作是通过文件对象实现的,通过文件对象可以读写文本文件和二进制文件 open(file, mode='r', buffering=-1, encod ...

  5. Python之文件操作:文件的读写

    一.open函数:对文件读写之前,需要先打开文件,获取文件句柄 注意:open() file() 尽量使用open(),Python3以后不支持file()了 1.open(file_name[,ac ...

  6. python进阶之路之文件处理

    Python之文件处理 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !imp ...

  7. Python—集合的操作、文件的操作

    1.集合的操作 2.文件的操作 1.集合的操作 定义: 1.不同元素组成,自动去重 2.无序 3.集合中的元素必须是不可变类型 1.集合的定义: >>> s1 = set('abcd ...

  8. 第3章 Python基础-文件操作&函数 文件操作 练习题

    一.利用b模式,编写一个cp工具,要求如下: 1. 既可以拷贝文本又可以拷贝视频,图片等文件 2. 用户一旦参数错误,打印命令的正确使用方法,如usage: cp source_file target ...

  9. python文件夹遍历,文件操作,获取文件修改创建时间

    在Python中,文件操作主要来自os模块,主要方法如下: os.listdir(dirname):列出dirname下的目录和文件os.getcwd():获得当前工作目录os.curdir:返回当前 ...

  10. 基于Html5 Plus + Vue + Mui 移动App开发(三)-文件操作(读取、保存、更新数据)

      随着手机的发展,现在越来越多的人选择在手机上看书.无论是专业书籍.文学.英语还是网络小说,在手机上看新闻成了人们处理零碎时间的办法.在智能手机里安装一个资讯APP,可以随时.随地查看自己想看的资讯 ...

随机推荐

  1. 初识Nginx及其LNMP搭建

    Nginx介绍 nginx www服务软件 俄罗斯人开发 开源 性能很高 web产品 大小780k c语言开发 本身是一款静态www软件,不能解析php jsp .do 最大特点 静态小文件(1m), ...

  2. Linux_Grub2、系统启动流程_RHEL7

    目录 目录 前言 系统启动流程 控制RHEL7启动过程 编辑gurbcfg RHEL7启动级别 修改系统运行级别 RHEL7破密码步骤 grup2加密防止破密码 initramfs文件 前言 RHEL ...

  3. 【Linux 应用编程】进程管理 - 进程间通信IPC之共享内存 mmap

    IPC(InterProcess Communication,进程间通信)是进程中的重要概念.Linux 进程之间常用的通信方式有: 文件:简单,低效,需要代码控制同步 管道:使用简单,默认阻塞 匿名 ...

  4. 你知道e.g.和i.e.的区别吗?

    见 i.e. 是对前面的完全举例,特指 e.g. 则是不完全举例,有可能是...也有可能是...还可能是其他. 注意,i.e. 和 e.g. 第二个点后面都常跟一个逗号.

  5. Zabbix-常见问题解决

    1.创建图形后字符乱码 # cd /usr/share/zabbix/fonts将Windows里面的 windows 控制面板——>字体——>如选择 “黑体”——>上传到当前目录# ...

  6. P1118 [USACO06FEB]数字三角形`Backward Digit Su`… (dfs)

    https://www.luogu.org/problemnew/show/P1118 看的出来是个dfs 本来打算直接从下到上一顿搜索 但是不会 看了题解才知道系数是个杨辉三角....... 这样就 ...

  7. [Git] 025 标签命令

    0. 前言 小时候看<剑花-烟雨-江南>,惊讶于那个多重身份的"小侯爷" 后来发现,现实中拥有比小侯爷更多身份的人多如牛毛 其实,在 "Git" 中 ...

  8. arm初识

    一.CPU从指令集角度分类 1.1. CISC  (X86) 1.1. 1. CISC CPU 指complex instruction set computer复杂指令集CPU 1.1.2. CIS ...

  9. HNUSTOJ 1444:树的最长路径

    1444: 树的最长路径 时间限制: 1 Sec  内存限制: 128 MB 提交: 18  解决: 7 [提交][状态][讨论版] 题目描述 定义:无向树中结点的路径为该结点所能到达的最远距离:无向 ...

  10. PY 个板子计划【雾

    各类板子计划 A+B √ 放个鬼的链接[雾 欧拉筛 √ https://www.cnblogs.com/Judge/p/11690114.html 树状数组 √ 惨痛的教训,以后咱打数据结构的时候绝对 ...