鱼C论坛

 找回密码
 立即注册
查看: 679|回复: 2

[已解决]零基础学习python,第30讲第3题

[复制链接]
发表于 2019-3-27 10:46:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
编写一个程序,用户输入开始搜索的路径,查找该路径下(包含子文件夹内)所有的视频格式文件(要求查找mp4 rmvb, avi的格式即可),并把创建一个文件(vedioList.txt)存放所有找到的文件的路径:

  1. # decoding=gbk
  2. import os


  3. def catalog_search(file):
  4.     list1 = os.listdir(file)
  5.     for i in list1:
  6.         if os.path.isdir(i):
  7.             catalog_search(i)
  8.         else:
  9.             # if os.path.splitext(i)[1] == ".dabai":
  10.                 file_export.writeline(i+"\n")


  11. catalog = input("请输入待查找的初始目录:")
  12. list_file = os.listdir(catalog)

  13. file_export = open("videolist.txt","w")

  14. for i in list_file:
  15.     if os.path.isdir(i):
  16.         catalog_search(i)
  17.     else:
  18.         # if os.path.splitext(i)[1] == ".dabai":
  19.         file_export.writelines(i+"\n")

  20. file_export.close()
复制代码


我这个代码,只能写入当前文件夹下面的文件,无法进入第二层文件夹,甚至第三层文件夹,请鱼油们帮忙看一下


最佳答案
2019-3-27 11:18:32
listdir返回的只是一个文件名的字符串列表,你需要将路径进行拼接一下再进行判断是否为一个文件夹
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2019-3-27 11:18:32 | 显示全部楼层    本楼为最佳答案   
listdir返回的只是一个文件名的字符串列表,你需要将路径进行拼接一下再进行判断是否为一个文件夹
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2019-3-27 12:15:22 | 显示全部楼层
谢谢,我使用os.path.join()实现了路径拼接
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-1 00:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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