鱼C论坛

 找回密码
 立即注册
查看: 822|回复: 6

[已解决]第030课后作业相关

[复制链接]
发表于 2019-4-26 20:21:57 | 显示全部楼层 |阅读模式
10鱼币
import os
def all_hs(hs_list,hs_file):
    os.chdir(hs_list)
    for each_file in os.listdir(os.curdir):
        if each_file == hs_file:
            print(os.getcwd() + os.sep + each_file)
        if os.path.isdir(each_file):
            all_hs(each_file,hs_file)
            os.chdir(os.pardir)
hs_list = input("请输入搜索路径:")
hs_file = input('请输入文件名:')
all_hs(hs_list,hs_file)
效果如图,求直接访问G盘的方法 问题01.JPG
最佳答案
2019-4-26 20:21:58
  1. import os
  2. def all_hs(hs_list , hs_file):
  3.     try:
  4.         for each_file in os . listdir(hs_list):
  5.             x = os . path . join(hs_list , each_file)
  6.             if os . path . isfile(x) :
  7.                 if each_file == hs_file :
  8.                     print(x)
  9.             elif os . path . isdir(x) :
  10.                 all_hs(x , hs_file)
  11.     except:
  12.         pass

  13. hs_list = input("请输入搜索路径:")
  14. hs_file = input('请输入文件名:')
  15. all_hs(hs_list , hs_file)
复制代码

      这个代码可以自动跳过无权限目录,解决无权限目录会终止程序执行的问题。

      搜索 G 盘输入搜索路径的时候,只要输入 G:\\ 就可以了

最佳答案

查看完整内容

这个代码可以自动跳过无权限目录,解决无权限目录会终止程序执行的问题。 搜索 G 盘输入搜索路径的时候,只要输入 G:\\ 就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-26 20:21:58 | 显示全部楼层    本楼为最佳答案   
  1. import os
  2. def all_hs(hs_list , hs_file):
  3.     try:
  4.         for each_file in os . listdir(hs_list):
  5.             x = os . path . join(hs_list , each_file)
  6.             if os . path . isfile(x) :
  7.                 if each_file == hs_file :
  8.                     print(x)
  9.             elif os . path . isdir(x) :
  10.                 all_hs(x , hs_file)
  11.     except:
  12.         pass

  13. hs_list = input("请输入搜索路径:")
  14. hs_file = input('请输入文件名:')
  15. all_hs(hs_list , hs_file)
复制代码

      这个代码可以自动跳过无权限目录,解决无权限目录会终止程序执行的问题。

      搜索 G 盘输入搜索路径的时候,只要输入 G:\\ 就可以了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-26 20:28:12 | 显示全部楼层
看截图提示,好像有个“s-1-5-21-104885610……-1001”的文件夹不让访问啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-26 20:28:51 | 显示全部楼层
可能是windows下有个别文件夹不让访问吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-4-26 22:04:40 | 显示全部楼层
  1. import os

  2. def findfile(f_path,f_name):

  3. #根据参数1切换到指定目录下
  4.     os.chdir(f_path)
  5.     findbj=False
  6. #利用walk()涵数返回一个包含当前目录下的所有子目录,及其下包含的子目录和文件名的元组,索引1为所在路径
  7. #索引2为该路径下的所有子目录,索引3为该路径当前的所有文件
  8.     for i in os.walk(f_path):
  9.         if len(i[2])>0:
  10.             for s in i[2]:
  11.                 if s==f_name:
  12.                     print(i[0]+os.sep+s)
  13.                     findbj=True
  14.     return findbj

  15. fp=input('请输入搜索路径:')
  16. fn=input('请输入文件名:')

  17. if not(findfile(fp,fn)):
  18.     print('未找到该文件')
复制代码

特意翻看了鱼C的书,在88页看到walk()函数,编了一个好像没出错
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-4-27 18:35:37 | 显示全部楼层
kermill 发表于 2019-4-26 22:04
特意翻看了鱼C的书,在88页看到walk()函数,编了一个好像没出错

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2019-4-27 18:36:17 | 显示全部楼层
jackz007 发表于 2019-4-26 20:21
这个代码可以自动跳过无权限目录,解决无权限目录会终止程序执行的问题。

      搜索 G 盘输入 ...

谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-18 17:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表