Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python中找到一个文件

在python中找到一个文件

提问于 2018-03-15 19:01:11
回答 2关注 0查看 155

我有一个文件,可能在每个用户的机器上不同的位置。是否有一种方法来实现对文件的搜索?我可以传递文件名和目录树搜索的方式吗?

回答 2

wsnbb203

回答已采纳

发布于 2018-03-16 03:58:54

这将找到第一个匹配:

代码语言:txt
AI代码解释
复制
import os

def find(name, path):
    for root, dirs, files in os.walk(path):
        if name in files:
            return os.path.join(root, name)

这个会找到所有匹配的:

代码语言:txt
AI代码解释
复制
def find_all(name, path):
    result = []
    for root, dirs, files in os.walk(path):
        if name in files:
            result.append(os.path.join(root, name))
    return result

这将符合一个模式:

代码语言:txt
AI代码解释
复制
import os, fnmatch
def find(pattern, path):
    result = []
    for root, dirs, files in os.walk(path):
        for name in files:
            if fnmatch.fnmatch(name, pattern):
                result.append(os.path.join(root, name))
    return result

find('*.txt', '/path/to/dir')

_Europa

发布于 2018-03-16 04:56:37

我用了一个版本os.walk在一个更大的目录上,大约有3.5秒的时间。我尝试了两种随机的解决方案,但没有什么大的改进,然后我做了:

代码语言:txt
AI代码解释
复制
paths = [line[2:] for line in subprocess.check_output("find . -iname '*.txt'", shell=True).splitlines()]

我只有0.25秒的时间。

因此,我相信完全有可能以一种独立于平台的方式对整个搜索进行优化,但这就是我停止研究的地方。

和开发者交流更多问题细节吧,去 写回答
相关文章
在二叉树中找到一个节点的后继节点
该结构比普通二叉树节点结构多了一个指向父节点的parent指针。 假设有一棵该Node类型的节点组成的二叉树,树中每个节点的parent指针 都正确地指向自己的父节点,头节点的parent指向null。 只给一个在二叉树中的某个节点 node,请实现返回node的后继节点的函数。 在二叉树的中序遍历的序列中, node的下一个节点叫作node的后继节点。node的上一个节点叫作node的钱去节点.,如某树遍历结果是5 1 4 3 8 7 9,那么1的后继结点就是4,1的前驱结点是5
名字是乱打的
2022/05/13
4270
在二叉树中找到一个节点的后继节点
该结构比普通二叉树节点结构多了一个指向父节点的parent指针。 假设有一 棵Node类型的节点组成的二叉树, 树中每个节点的parent指针都正确地指向自己的父节点, 头节点的parent指向null。 只给一个在二叉树中的某个节点 node, 请实现返回node的后继节点的函数。 在二叉树的中序遍历的序列中, node的下一个节点叫作node的后继节点。
大学里的混子
2019/02/19
1.3K0
学霸用 Python 分析相亲网站数据,在两万异性中找到真爱!
如果身在美国,就像其余四千万单身男人一样,注册一下 Match.com, J-Date 和 OkCupid 等相亲网站,坐等真爱上门不就可以了。
GitHubDaily
2019/10/10
7290
学霸用 Python 分析相亲网站数据,在两万异性中找到真爱!
如何在电脑成千上万支文件中找到想要的文件?
这段代码其实很简单,主要涉及两个主要的函数,一个是os模块的walk函数,一个是内置函数enumerate。
极简小课
2022/06/21
1.2K0
如何在电脑成千上万支文件中找到想要的文件?
但是,在通过移动数组的上升周期中找到指定元素
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/117323.html原文链接:https://javaforall.cn
全栈程序员站长
2022/07/06
4380
野生码农的逆袭之路:在跨界中找到自我
本文由CDA作者库成员HarryZhu原创,并授权发布。 CDA作者库凝聚原创力量,只做更有价值的分享。 Day Job and Night Job 我非常认同《黑客与画家》里的 Paul Graham 说的一句话:码农需要一个 day job for food,也需要一个 night job for fun。和格雷厄姆不同的是,我的night job不是一个画家,而是一个作家,是的,一个技术专栏的撰稿人。通常,晚餐之后,刷一遍自己的 Feedly 和 GitHub,搞搞黑科技,这就是一种
CDA数据分析师
2018/02/24
1.2K0
野生码农的逆袭之路:在跨界中找到自我
李鹏辉:在海量数据中找到相关关系,就能产生价值
研究生院专硕办副主任李鹏辉老师与数据院渊源颇深。从校领导决定建院之初,校长及五位副校长齐聚工字厅开会探讨,到如今教学规模达一千多名学生,李老师是一步一步看着,支持着数据院走到今天。他印象最深的是2018年初的学生RONG奖学金答辩,他说他看着各个院系的学生们,包括美术学院的、经管学院的等等,能用大数据思维去跨学科学习,他突然觉得这些年自己的工作特别有成就感。归根到底,教书育人这件事还是使命感的先导。
数据派THU
2018/07/30
3440
李鹏辉:在海量数据中找到相关关系,就能产生价值
python练习之查找一个文件中的字符串是否在另一个文件中存在
不得不说正则是个好东西。 没错这次又用到正则表达式。 直接上代码: # -*- coding: UTF-8 -*- import re #使用正则库 # 打开文件 fo = open("hello.txt", "r"); co = open("world.txt", "r"); colines = co.readlines(); #读取所有world文件中的行
李小白是一只喵
2020/04/24
5.6K0
python练习之查找一个文件中的字符串是否在另一个文件中存在
.whl文件在python库的安装
https://www.lfd.uci.edu/~gohlke/pythonlibs/
微风、掠过
2019/12/24
2.7K0
.whl文件在python库的安装
python接口测试:在一个用例文件中调用另一个用例文件中定义的方法
在进行接口测试时,经常会遇到不同接口间传递参数的情况,即一个接口的某个参数需要取另一个接口的返回值;
冰霜
2022/03/19
3.1K0
python接口测试:在一个用例文件中调用另一个用例文件中定义的方法
[780]python删除一个文件或文件夹
os.remove() 方法用于删除指定路径的文件。如果指定的路径是一个目录,将抛出OSError。这时需用用os.rmdir()来删除。
周小董
2020/03/28
1.5K0
用python删除文件_python运行另一个py文件
一、三种删除方法 二、删除失败情况 PermissionError: [WinError 5] 拒绝访问 2.1 给python权限 2.2 删除改为更名 一、三种删除方法 python删除文件和文件夹主要用到os模块和shutil模块,针对文件夹和文件的删除,有几种情况,直接上代码:
全栈程序员站长
2022/11/17
2.2K0
用python删除文件_python运行另一个py文件
Python算法和数据结构:在二叉树中找到和为sum的所有路径
思路:先用递归创建一颗二叉树,作为输入;然后对这课二查树进行递归遍历,递归中每遍历一个节点,下次递归的和为sum-data;并用一个数组记录遍历过的路径,当存在sum时,输出数组中的路径。
用户1631416
2018/09/14
9770
Python算法和数据结构:在二叉树中找到和为sum的所有路径
使用python删除一个文件或文件夹
使用python删除一个文件或文件夹,需要使用os模块。import osos.remove(path) # path是文件的路径,如果这个路径是一个文件夹,则会抛出OSError的错误,这时需用用rmdir()来删除os.rmdir(path) # path是文件夹路径,注意文件夹需要时空的才能被删除os.unlink('F:\新建文本文档.txt') # unlink的功能和remove一样是删除一个文件,但是删除一个删除一个正在使用的文件会报错。import ospath = 'F:/新建文本文
狼啸风云
2021/01/21
5.2K0
在 Python 中创建和修改 PDF 文件
了解如何在 Python 中创建和修改 PDF 文件非常有用。该PDF,或P ortable d ocument ˚F ORMAT,是最常见的格式在互联网上共享的文件之一。PDF可以在一个文件中包含文本、图像、表格、表单和富媒体。
玖柒的小窝
2021/12/14
13.5K0
Finding the closest objects in the feature space在特征空间中找到最接近的对象
Sometimes, the easiest thing to do is to just find the distance between two objects. We just need to find some distance metric, compute the pairwise distances, and compare the outcomes to what's expected.
到不了的都叫做远方
2019/11/24
7190
如何使用python删除一个文件?
若想利用python删除windows里的文件,这里需要使用os模块!那接下来就看看利用os模块是如何删除文件的!
全栈程序员站长
2022/08/27
1.7K0
如何使用python删除一个文件?
点击加载更多

相似问题

在配置文件中找到以下片段,要修改的红色部分没找到?

2183

Rails:为什么在Rails中找到(Id)引发异常?

2239

python无法写入文件?

068

使用Glob()在Python中递归地查找文件?

25K

在学习python,遇到一个问题,怎么实现一个下载本地文件的功能?

0131
相关问答用户
高级数据分析师擅长5个领域
萃橙科技 | 合伙人擅长4个领域
腾讯 | 技术专家擅长2个领域
擅长4个领域
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档