如何用 Python 模糊搜索文件

一、我的文件在哪里?

  1、告诉计算机文件在哪

  使用路径描述位置

    绝对路径——从根目录写到底

  内置模块OS

    路径

    目录

    文件

    其他系统操作

  2、描述文件的特征

  用条件判断来筛选

  3、对比后打印文件名

  用循环来实现逐个比对,素材链接:https://files.cnblogs.com/files/Lamfai/script_project1_files.zip

import os
# 路径(鼠标右键查看文件属性)
path = 'C:/Users/Lamfai/Desktop/files'
files = os.listdir(path)
# 查找文件名字含有fish且以.png后缀的文件
for f in files:
    if 'fish' in f and f.endswith('.png'):
        print('Found it!' + f)

 

  4、使用 Python 从这中筛选出符合这些特征的文件:
  (1) 除了 gif 类型之外的其他类型 ;
  (2) 名字中包含有关键词 “project30”或者“commercial”。

  素材链接:https://files.cnblogs.com/files/Lamfai/files.zip

# 使用 Python 从这中筛选出符合这些特征的文件:
# 1. 除了 gif 类型之外的其他类型
# 2. 名字中包含有关键词 “project30”或者“commercial”

import os
# 路径(设置 path 变量,存储路径)
path = 'C:/Users/Lamfai/Desktop/files'
# 利用 os 模块中的 listdir 函数,将路径中的所有文件存储到一个 list 变量中。
files = os.listdir(path)
# 查找文件名字含有关键词 “project30”或者“commercial”且不以gif后缀的文件
# 利用 for 语句浏览 list 变量中的所有元素
for f in files:
    # 利用 if 语句判断文件名是否符合要求。其中, endswitch 函数用来判断一个字符串是否包含某个后缀。
    # 成员运算符 in 用来判断一个字符串是否包含某个子串。不同的条件用 and 或者 or 来连接。
    if (not f.endswith('.gif')) and ('project30' in f or 'commercial' in f):
        print('Found it!' + f)

 

  提示:

  1、出现报错 No such file or directory 怎么办?No such file or directory 的含义是不存在这个文件或路径,可能是以下几个原因造成的:

  (1)电脑上没有这个文件夹。文件夹的名字包括大小写需完全一致。

  (2)路径不对。绝对路径的写法有三种:

    ①正斜线。C:/Users/Lamfai/Desktop/files

    ②两个反斜线。C:\\Users\\Lamfai\\Desktop\\files

    ③在路径外面加 r 。r'C:\Users\Lamfai\Desktop\files'

    参考020100_01——绝对路径与相对路径

  (3)没有在本地运行代码。

  (4)使用相对路径没有把 .py 文件放到要处理的文件夹内。

 

转载于:https://www.cnblogs.com/Lamfai/p/9398358.html

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值