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

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

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

非常感谢各位
展开
 我来答
TTWOYONGA
2013-05-07 · TA获得超过255个赞
知道答主
回答量:179
采纳率:100%
帮助的人:91.9万
展开全部
给你各相对来说容易理解的哈
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文件里
栩箭
推荐于2017-09-15 · TA获得超过5310个赞
知道大有可为答主
回答量:3036
采纳率:0%
帮助的人:1651万
展开全部
#!/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会进入到子文件夹
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
271680114
2013-05-07 · TA获得超过466个赞
知道小有建树答主
回答量:248
采纳率:0%
帮助的人:206万
展开全部
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就是文件的路径,你可以自己试一下
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
圣风窗忘苦行
2021-06-28
知道答主
回答量:66
采纳率:0%
帮助的人:2.9万
展开全部
dirs = [dir for dir in dirs_a if not '(自己定义的符号一般是 . )' in dir] 来进行筛选
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式