首页 > 编程语言 >python学习:获取指定目录下所有文件名os.walk和os.listdir

python学习:获取指定目录下所有文件名os.walk和os.listdir

时间:2022-10-15 16:13:03浏览次数:58  
标签:files 200 listdir python 2000 file test txt os

1.os.walk

  • 返回指定路径下所有文件和子文件夹中所有文件列表
  • 其中文件夹下路径如下:
    在这里插入图片描述
import os
def file_name_walk(file_dir):
    for root, dirs, files in os.walk(file_dir):
        print("root", root)  # 当前目录路径
        print("dirs", dirs)  # 当前路径下所有子目录
        print("files", files)  # 当前路径下所有非目录子文件

file_name_walk("./")
# root ./
# dirs ['test']
# files ['200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt', 'getFileName.py']
# root ./test
# dirs []
# files ['test.txt']
  • 对于os.walk会遍历指定目录下的所有子文件夹和子文件夹中的所有文件,例如此处的root文件夹中有test文件夹和'200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt', 'getFileName.py'等文件
  • 然后遍历子文件夹test,发现其中并没有子文件夹,所以dirs=[],但是子文件夹test中有文本文件test.txt.所以有['test.txt']的值

2.os.listdir()

返回指定路径下所有的文件和文件夹列表,但是子目录下文件不遍历。

def file_name_listdir(file_dir):
    for files in os.listdir(file_dir):  # 不仅仅是文件,当前目录下的文件夹也会被认为遍历到
        print("files", files)

file_name_listdir("./")
# files 200-2000(1).txt
# files 200-2000(2).txt
# files 200-2000(3).txt
# files getFileName.py
# files test

注意:使用os.listdir函数不仅是文件,文件夹也会被遍历到,例如test即是一个文件夹。

3.全局变量保存

如果想要保存文件名可以使用全局变量或者局部变量进行保存。
如果使用全局变量,则每次调用函数的信息都存在全局列表中

Files_Global = []

def file_name_listdir_global(file_dir):
    for files in os.listdir(file_dir):
        Files_Global.append(files)

file_name_listdir_global(".")
file_name_listdir_global("./test")
# 最终的结果都会被保存到全局列表变量中
print("Files_Global: ", Files_Global)
# Files_Global:  ['200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt', 'getFileName.py', 'test', 'test.txt']

此处使用os.listdir函数将遍历得到的结果都保存到全局变量Files_Global中,则其中包含了遍历"."当前文件夹和"./test"当前文件夹中的test文件夹中的所有信息

4.局部变量和函数返回

局部变量,只保存本次函数调用得到的结果,通过返回值保存
建议使用局部变量加返回值的方式

'''
学习中遇到问题没人解答?小编创建了一个Python学习交流群:711312441
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
def file_name_listdir_local(file_dir):
    files_local = []
    for files in os.listdir(file_dir):
        files_local.append(files)
    return files_local

file_local_1 = file_name_listdir_local(".")
file_local_2 = file_name_listdir_local("./test")
print("file_local_1:", file_local_1)  # 当前目录下文件
print("file_local_2", file_local_2)  # 子目录test下文件
# file_local_1: ['200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt', 'getFileName.py', 'test']
# file_local_2 ['test.txt']

5.通过os.path.splitext指定文件类型

选取特定文件类型
选取文件名中所有txt后缀名的文本文件

def file_name(file_dir):
    File_Name=[]
    for files in os.listdir(file_dir):
        if os.path.splitext(files)[1] == '.txt':
            File_Name.append(files)
    return File_Name
txt_file_name=file_name(".")
print("txt_file_name",txt_file_name)

# txt_file_name ['200-2000(1).txt', '200-2000(2).txt', '200-2000(3).txt']

标签:files,200,listdir,python,2000,file,test,txt,os
From: https://www.cnblogs.com/djdjdj123/p/16794373.html

相关文章

  • ASEMI代理ST/意法STW43NM60ND原厂渠道车规级MOS管
    编辑-ZST/意法STW43NM60ND车规级MOS管参数:型号:STW43NM60ND连续漏极电流(ID):35A功耗(Ptot):255W贮存温度和工作结温(Tstg,Tj):-55~150℃漏源击穿电压V(BR)DSS:600V栅极阈值电压V(GS)t......
  • ST/意法STW78N65M5汽车级MOSFET,原厂渠道ASEMI代理
    编辑-ZST/意法STW78N65M5汽车级MOSFET参数:型号:STW78N65M5连续漏极电流(ID):69A功耗(Ptot):450W贮存温度和工作结温(Tstg,Tj):-55~150℃漏源击穿电压V(BR)DSS:650V栅极阈值电压V(GS)th......
  • docker-compose 实现minio分布式存储服务
    minio是一个非常流行的高性能存储服务,云服务器使用得非常多。现在minio的更新非常迅速,三天两头就会更新版本,为了学习minio,了解最近特性,使用docker进行部署安装就非常方便。......
  • CentOS最小化安装后找不到ifconfig命令
    1.ifconfig命令是设置或显示网络接口的程序,可以显示出我们机器的网卡信息,可是有些时候最小化安装CentOS等Linux发行版的时候会默认不安装ifconfig等命令,这时候你进入终端......
  • ASEMI代理ST/意法STW43NM60ND原厂渠道车规级MOS管
    编辑-ZST/意法STW43NM60ND车规级MOS管参数:型号:STW43NM60ND连续漏极电流(ID):35A功耗(Ptot):255W贮存温度和工作结温(Tstg,Tj):-55~150℃漏源击穿电压V(BR)DSS:600V栅极阈值电......
  • ST/意法STW78N65M5汽车级MOSFET,原厂渠道ASEMI代理
    编辑-ZST/意法STW78N65M5汽车级MOSFET参数:型号:STW78N65M5连续漏极电流(ID):69A功耗(Ptot):450W贮存温度和工作结温(Tstg,Tj):-55~150℃漏源击穿电压V(BR)DSS:650V栅极阈值电......
  • Centos 8 升级内核通过elrepo源
    一、Centos8升级内核通过elrepo源地址https://www.kernel.orghttp://elrepo.org/tiki/tiki-index.php 查看linux内核版本[root@localhost~]#cat/proc/versio......
  • Photoshop 2023最新版(ps2023图像处理软件)
    ps2023最新版哪里可以下载?小编为大家带来Photoshop2023中文版下载,并附上了详细的ps2023安装教程及图解,让您一目了然。从Photoshop开始,惊艳随之而来,从社交媒体贴子到修饰相......
  • python中sort()函数跟sorted()函数的用法及区别
    一、描述sorted()函数是用来对某个对象进行排序操作的函数sorted()函数与sort()函数的区别是:sort只能用于列表对象(list),而sorted可以对所有可迭代对象进行排序。sort......
  • Python初学学习笔记
    本篇为新生实践课所留作业的学习笔记,记录我尚不熟悉的Python知识刷题页面  1.保留字即关键字,是Python语言中内部使用的单词,代表一定语义。例如:and、class、if、el......