Python列出指定目录下的子目录/文件或者递归列出
1、python只列出当前目录(或者指定目录)下的文件或者目录条目
import os files,dirs=[],[] for item in os.listdir():
if os.path.isfile(item):
files.append(item)
elif os.path.isdir(item):
dirs.append(item)
### os.listdir()中可以指定目录,默认为当前目录
### os.path.abspath(item)可以列出文件或者文件夹的绝对路径
### item.endswith(".tar.gz") 可以只看.tar.gz结尾的条目
2、使用os.walk('.')递归列出所有子目录,必须指定目录参数,及所有子文件条目,逻辑原理如下
首先os.walk('.')会返回一个对象,包括多个三元tupple(root, dirs, filenames),递归把一个目录及子目录遍历完:
for item in os.walk('.'):
print(item)
#######返回的逻辑如下############
('.', ['A', 'B'], ['a.py', 'b.py'])
('.\\A', ['Adir01', 'Adir02'], ['A1.txt'])
('.\\A\\Adir01', ['AAAAA'], ['AA_5201351.txt'])
('.\\A\\Adir01\\AAAAA', [], ['qq_5201351.txt'])
('.\\A\\Adir02', [], [])
('.\\B', ['Bdir01', 'Bdir02'], ['w1.txt'])
('.\\B\\Bdir01', [], [])
('.\\B\\Bdir02', [], [])
3、因此可以通过如下方式递归列出指定目录下所有的子目录,及所有的子文件
import os
all_files,all_dirs=[],[]
for root, dirs, files in os.walk('.'):
for file in files:
all_files.append(os.path.join(root,file))
for dir in dirs:
all_dirs.append(os.path.join(root,dir))
## 同样,使用os.path.abspath(NAME)可以列出文件或者文件夹的绝对路径
尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/13689652.html
Python列出指定目录下的子目录/文件或者递归列出的更多相关文章
- Python获取指定目录下所有子目录、所有文件名
需求 给出制定目录,通过Python获取指定目录下的所有子目录,所有(子目录下)文件名: 实现 import os def file_name(file_dir): for root, dirs, f ...
- javaFile循环列出指定目录下的所有文件(源代码)
package javatest.basic22; import java.io.File; import java.io.IOException; public class FileTest { p ...
- python将指定目录下的所有文件夹用随机数重命名
我的目的在于打乱数据顺序,便于GAN训练: import random import os path = 'hunhe_7' #目标文件夹 listname = os.listdir(path) #遍 ...
- [Python]打印指定目录下所有子目录
import os for root,dirs,files in os.walk(r"/home/os-hy01"): for dir in dirs: print(dir) -- ...
- Python复制指定目录的各个子目录下的同名文件到指定文件夹并重命名
Python复制指定目录的各个子目录下的同名文件到指定文件夹并重命名 #编码类型 #-*- coding: UTF-8 -*- #导入包 import os import shutil srcpath ...
- Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte
File 类 用来将文件或者文件夹封装成对象 方便对文件与文件夹进行操作. File对象可以作为参数传递给流的构造函数 流只用操作数据,而封装数据的文件只能用File类 File类常见方法: 1.创建 ...
- python实现指定目录下批量文件的单词计数:并发版本
在 文章 <python实现指定目录下批量文件的单词计数:串行版本>中, 总体思路是: A. 一次性获取指定目录下的所有符合条件的文件 -> B. 一次性获取所有文件的所有文件行 - ...
- Python —— 批量替换指定目录下的所有文件中指定字符串
参考:http://blog.csdn.net/zcwfengbingdongguke/article/details/13951527 代码: #!/usr/bin/python import os ...
- python移动目录下所有子目录文件到新的总目录
python移动目录下所有子目录文件到新的总目录 import os import shutil def file(p): p=p z=os.listdir(p) for i ...
随机推荐
- JavaScript学习系列博客_15_栈内存、堆内存
栈内存 - JS中的变量都是保存到栈内存中的,- 基本数据类型的值直接在栈内存中存储,- 值与值之间是独立存在,修改一个变量不会影响其他的变量 堆内存 - 对象是保存到堆内存中的,每创建一个新的对象, ...
- 正则表达式截取xml
$str = '<Ips><GateWayRsp><head><ReferenceID>123</ReferenceID><RspCo ...
- kvm-virtualization – 删除“孤儿”libvirt快照
原文链接:https://codeday.me/bug/20181110/371346.html 创建快照: virsh snapshot-create-as --domain prod snap - ...
- Vue源码分析之实现一个简易版的Vue
目标 参考 https://cn.vuejs.org/v2/guide/reactivity.html 使用 Typescript 编写简易版的 vue 实现数据的响应式和基本的视图渲染,以及双向绑定 ...
- CSS 选择器及优先级
CSS 选择器及优先级 1.根据权值计算 div .class1 #people的权值等于1+10+100=111 .class2 li #age的权值等于10+1+100=111 2.权值相同,那么 ...
- (几乎)完美实现 el-table 列宽自适应
背景 Element UI 是 PC 端比较流行的 Vue.js UI 框架,它的组件库基本能满足大部分常见的业务需求.但有时候会有一些定制性比较高的需求,组件本身可能没办法满足.最近在项目里就碰到了 ...
- python sqlite3简单操作
python sqlite3简单操作(原创)import sqlite3class CsqliteTable: def __init__(self): pass def linkSqlite3(sel ...
- Python多线程爬虫详解
一.程序进程和线程之间的关系 程序:一个应用就是一个程序,比如:qq,爬虫 进程:程序运行的资源分配最小单位, 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知 ...
- html加C#上传文件
最近在学上传文件部分内容,包括创建文件夹,设置文件夹属性,上传文件并保存. 前台代码: <html xmlns="http://www.w3.org/1999/xhtml"& ...
- 15 自定义分页pagination全局组件
1.Pagination.vue <template> <el-pagination @size-change="handleSizeChange" @curre ...