Python3:递归实现输出目录下所有的文件

今天来整理一下os库中方法的使用,如何输出一个目录下的所有文件?

1.首先介绍几个基本的的方法:

1)os.getcwd()  #返回当前工作目录

2)os.listdir()    #返回一个列表,包含当前工作目录下的文件和路径

3)os.path.join(path,*paths) 路径拼接

4)os.path.isfile(path)  判断是不是文件,返回布尔值

2.如何输出所有的文件路径呢?代码:

def allfile(basepath):    for item in os.listdir(basepath):     #循环目录下的每一个元素(目录或文件)        path=os.path.join(basepath,item)    #路径拼接:要查询目录 + 第一级目录/文件        if os.path.isfile(path):       #判断:若果为文件,直接输出path            print(path)        else:            allfile(path)   #如果仍是是目录,递归调用当前函数

调用:

path=os.getcwd()allfile(path)

结果:

D:\python workspace\py11\1001\py\pytest\py1\a.py
D:\python workspace\py11\1001\test01.py
D:\python workspace\py11\1001\test02.py
D:\python workspace\py11\1001\test03.py
D:\python workspace\py11\1001\test04.py
D:\python workspace\py11\1001\test05.py
D:\python workspace\py11\1001\test06.py
D:\python workspace\py11\1001\test07.py
D:\python workspace\py11\1001\test08.py
D:\python workspace\py11\1001\__init__.py

原文地址:https://www.cnblogs.com/test123/p/10102923.html

时间: 2024-08-05 17:53:56

Python3:递归实现输出目录下所有的文件的相关文章

Linux递归解压缩一个目录下的全部文件

gunzip -r hongchangfirst/data 怎样递归删除那些剩余的非log结尾的文件? 先列出确认一下: find hongchangfirst/data -type f ! -name "*.log" 然后真正的删除: find hongchangfirst/data -type f ! -name "*.log" -exec rm -f {} \; 记住后边-exec一定要加空格,否则会出现find: missing argument to `-

递归列出一个目录下所有的文件夹和文件

package chapter10; import java.io.File; /** * 列出一个目录下所有的文件夹和文件 * */public class TestFile02 { public static void main(String[] args) { File file = new File("E:\\av"); listFile(file); } public static void listFile(File file) { File[] files = file.

用shell脚本递归遍历某个目录下的所有文件并移动到某个指定的目录中

1,先看下脚本cat recursive.sh #!/bin/shread -p "input path:" FilePath function getAllfiles(){for file in ls $FilePathdoif [ -f $file ]thenecho $filemv $file /bak_file/elif test -d $filethenecho "-------------------------------->"cd $fileF

go递归打印指定目录下的所有文件及文件夹

func treedir(fpath string){ // 获取fileinfo if finfo,err := os.Stat(fpath); err == nil { // 判断是不是目录 如果不是目录而是文件 打印文件path并跳出递归 if !finfo.IsDir() { fmt.Println(fpath) return }else{ // 是目录的情况 打印目录path fmt.Println(fpath) f,_ := os.Open(fpath) // 通过目录path op

rrmdir php中递归删除目录及目录下的文件

php自带的rmdir,只能删除空目录,这个rrmdir就可以递归删除目录及目录下的所有文件,不过使用起来要小心哦,不要把所有文件都删了 function rrmdir($dir) { if (is_dir($dir)) { $objects = scandir($dir); foreach ($objects as $object) { if ($object != “.” && $object != “..”) { if (filetype($dir.”/”.$object) == “

c# 获取指定目录下的所有文件并显示在网页上

参考文献: FileInfo 的使用  https://msdn.microsoft.com/zh-cn/library/system.io.fileinfo_methods(v=vs.110).aspx 网页表格的生成  http://www.w3school.com.cn/html/html_tables.asp C# 通过文件扩展名获取图标和描述 http://www.csframework.com/archive/2/arc-2-20110514-1478.htm   http://ww

java 20 -3 递归之删除特定目录下的特定文件

1 /* 2 需求:删除H:\demo目录下的带内容的文件 3 分析: 4 A:封装该目录 5 B:获取该目录下所有的文件或文件夹的File数组 6 C:遍历该File数组,获取每一个File对象 7 D:判断所遍历的FIle对象 8 是否是文件夹 9 是:返回步骤B 10 不是:判断里面是否有内容 11 有:删除 12 不是:不理 13 B-D设为递归方法: 14 返回类型;void 15 参数列表:File xxx 16 出口:文件里面有内容 17 */ 18 package zl_DiGu

java 递归实现删除或查询指定目录下的全部文件

/** * 递归列举盘符下的全部文件的名称,如E:\HeartIsland * * @author HeartIsland * */ public class FileListDemo { /** * 递归列举盘符下的全部文件的名称.如E:\HeartIsland之下的全部文件 并吧路径打印出来 * * File file = new File("E:\\HeartIsland\\"); * // 列出文件的路径 * System.out.println(file.getPath())

php递归查找指定目录下及子文件名称是否包含中文空格及括号

1 //php递归查找该目录下及子文件名称是否包含中文空格括号 2 function searchDir($path,&$data){ 3 if(is_dir($path)){ 4 $dp=dir($path); 5 while($file=$dp->read()){ 6 if($file!='.'&& $file!='..'){ 7 searchDir($path.'/'.$file,$data); 8 } 9 } 10 $dp->close(); 11 } 12 i