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列出指定目录下的子目录/文件或者递归列出的更多相关文章

  1. Python获取指定目录下所有子目录、所有文件名

    需求 给出制定目录,通过Python获取指定目录下的所有子目录,所有(子目录下)文件名: 实现 import os def file_name(file_dir): for root, dirs, f ...

  2. javaFile循环列出指定目录下的所有文件(源代码)

    package javatest.basic22; import java.io.File; import java.io.IOException; public class FileTest { p ...

  3. python将指定目录下的所有文件夹用随机数重命名

    我的目的在于打乱数据顺序,便于GAN训练: import random import os path = 'hunhe_7' #目标文件夹 listname = os.listdir(path) #遍 ...

  4. [Python]打印指定目录下所有子目录

    import os for root,dirs,files in os.walk(r"/home/os-hy01"): for dir in dirs: print(dir) -- ...

  5. Python复制指定目录的各个子目录下的同名文件到指定文件夹并重命名

    Python复制指定目录的各个子目录下的同名文件到指定文件夹并重命名 #编码类型 #-*- coding: UTF-8 -*- #导入包 import os import shutil srcpath ...

  6. Java基础---Java---IO流-----File 类、递归、删除一个带内容的目录、列出指定目录下文件夹、FilenameFilte

    File 类 用来将文件或者文件夹封装成对象 方便对文件与文件夹进行操作. File对象可以作为参数传递给流的构造函数 流只用操作数据,而封装数据的文件只能用File类 File类常见方法: 1.创建 ...

  7. python实现指定目录下批量文件的单词计数:并发版本

    在 文章 <python实现指定目录下批量文件的单词计数:串行版本>中, 总体思路是: A. 一次性获取指定目录下的所有符合条件的文件 -> B. 一次性获取所有文件的所有文件行 - ...

  8. Python —— 批量替换指定目录下的所有文件中指定字符串

    参考:http://blog.csdn.net/zcwfengbingdongguke/article/details/13951527 代码: #!/usr/bin/python import os ...

  9. python移动目录下所有子目录文件到新的总目录

    python移动目录下所有子目录文件到新的总目录 import os import shutil def file(p):     p=p     z=os.listdir(p)     for i ...

随机推荐

  1. JavaScript学习系列博客_15_栈内存、堆内存

    栈内存 - JS中的变量都是保存到栈内存中的,- 基本数据类型的值直接在栈内存中存储,- 值与值之间是独立存在,修改一个变量不会影响其他的变量 堆内存 - 对象是保存到堆内存中的,每创建一个新的对象, ...

  2. 正则表达式截取xml

    $str = '<Ips><GateWayRsp><head><ReferenceID>123</ReferenceID><RspCo ...

  3. kvm-virtualization – 删除“孤儿”libvirt快照

    原文链接:https://codeday.me/bug/20181110/371346.html 创建快照: virsh snapshot-create-as --domain prod snap - ...

  4. Vue源码分析之实现一个简易版的Vue

    目标 参考 https://cn.vuejs.org/v2/guide/reactivity.html 使用 Typescript 编写简易版的 vue 实现数据的响应式和基本的视图渲染,以及双向绑定 ...

  5. CSS 选择器及优先级

    CSS 选择器及优先级 1.根据权值计算 div .class1 #people的权值等于1+10+100=111 .class2 li #age的权值等于10+1+100=111 2.权值相同,那么 ...

  6. (几乎)完美实现 el-table 列宽自适应

    背景 Element UI 是 PC 端比较流行的 Vue.js UI 框架,它的组件库基本能满足大部分常见的业务需求.但有时候会有一些定制性比较高的需求,组件本身可能没办法满足.最近在项目里就碰到了 ...

  7. python sqlite3简单操作

    python sqlite3简单操作(原创)import sqlite3class CsqliteTable: def __init__(self): pass def linkSqlite3(sel ...

  8. Python多线程爬虫详解

    一.程序进程和线程之间的关系 程序:一个应用就是一个程序,比如:qq,爬虫 进程:程序运行的资源分配最小单位, 很多人学习python,不知道从何学起.很多人学习python,掌握了基本语法过后,不知 ...

  9. html加C#上传文件

    最近在学上传文件部分内容,包括创建文件夹,设置文件夹属性,上传文件并保存. 前台代码: <html xmlns="http://www.w3.org/1999/xhtml"& ...

  10. 15 自定义分页pagination全局组件

    1.Pagination.vue <template> <el-pagination @size-change="handleSizeChange" @curre ...