如何用Python实现查找"/"目录下的文件夹或文件,感谢

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Python实现查找"/"目录下的文件夹或文件,感谢相关的知识,希望对你有一定的参考价值。

如何用Python实现查找"/"目录下的文件夹或文件,运行脚本-->输入查找值-->查找-->反馈
如果文件存在, 我需要将文件的位置显示出来或者记录到专门的文档中怎么实现呢

还有就是“/" 下面还有很多文件夹,是否能实现深入底层文件夹查找呢?

非常感谢各位

给你各相对来说容易理解的哈
import os
name=raw_input('filename:') #在这里输入你的查找值
a=os.listdir('/') #把所有/目录下的文件,目录存放入a
if name in a: #如果查找值在/目录下,进行进一步判断
if os.path.isdir(name): #判断是否为目录

print 'dir'

elif os.path.isfile(name) and os.pathislink(name): #符号连接即是文件又是link所以双重判断

print 'link'

elif os.path.isfile(name): #判断是否文件

print 'file'

else: #linux上文件类型多,不符合上面三种打印0ther

print 'other'
else: #不存在打印‘not exist’
print 'not exist'追问

非常感谢
如果文件存在 我需要将文件的位置显示出来或者记录到专门的文档中怎么实现呢

追答

亲 你这个问题问的犀利!
‘/’路径下是总的树节点,下面包含/root,/home,/sbin,/bin,/dev,/var,/dev等等的目录(你说的文件夹),如果是要实现这样的功能也是可以的不停的循环如果是目录就进入,找到停止,找不到在找目录在进入,如此反复。
一招简单的:
import os
name=raw_input('filename:') #在这里输入你的查找值
command='find / -name '+name+' >/root/a.txt'
os.system(command) #查找包含查找值的文件,查找的结果写入/root目录下的a.txt文件里

追问

我是Python新手,多多包含
我继续试试,请问大虾可以模糊查询吗,比如我ls B420*.zip 这样用*代替不知道的

追答

其实上面用的python的是os.system()函数,他可以执行系统指令,相当于你在linux上执行
find / -name B420*.zip >/root/a.txt find指令是/目录下所有的目录中的文件查找,可以模糊查找,用ls B420*.zip 只能在你当前所在的路径下查找是否有该文件

参考技术A #!/usr/bin/env python
#-*- encoding: utf-8 -*-
from sys import stdin
from os import walk
from os.path import join
name = stdin.readline().rstrip()
for root, dirs, files in walk(\'/\'):
    if name in dirs or name in files:
        print(join(root, name))

追问

非常感谢

如果文件存在, 我需要将文件的位置显示出来或者记录到专门的文档中怎么实现呢

还有就是“/" 下面还有很多文件夹,是否能实现深入底层文件夹查找呢?

追答

你有运行过来尝试么?
print那一行会显示出来。
walk会进入到子文件夹

追问

我刚刚运行了你的程式,是的 ,可以查询子文件夹

本回答被提问者采纳
参考技术B import glob
def look_up(path):
    for f in glob.glob(\'%s/*\' % path):
        print f

追问

如果文件存在, 我需要将文件的位置显示出来或者记录到专门的文档中怎么实现呢

还有就是“/" 下面还有很多文件夹,是否能实现深入底层文件夹查找呢?

追答

这里我只用了glob.glob('%s/*'%path),也就是在path下面的所有文件额文件夹,如果再深一层就用glob.glob('%s/*/*'%path),以此类推,这里做了个循环,打印出的f就是文件的路径,你可以自己试一下

参考技术C dirs = [dir for dir in dirs_a if not '(自己定义的符号一般是 . )' in dir] 来进行筛选

以上是关于如何用Python实现查找"/"目录下的文件夹或文件,感谢的主要内容,如果未能解决你的问题,请参考以下文章

如何用python编写弹出对话框,并选择yes/no

请问如何用excel实现批量查找多个字符串出现的次数?

如何用perl查找某目录下 及其子目录下的某类文件

如何用Python生成计算题?

如何用python抓取这个网页的内容?

如何用js脚本在html中批量加入图片?