脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|shell|

服务器之家 - 脚本之家 - Python - Python中获取指定目录下所有文件名的方法

Python中获取指定目录下所有文件名的方法

2023-10-15 12:07棉猴 Python

在《Python中文件名和路径的操作》中提到,os模块中的函数可以对文件进行操作。通过递归以及os模块中提供的函数,可以获取指定目录下所有的文件名。

在《Python中文件名和路径的操作》中提到,os模块中的函数可以对文件进行操作。通过递归以及os模块中提供的函数,可以获取指定目录下所有的文件名。

1 基本流程

通过递归获取指定目录下所有文件名的基本流程,如图1所示。

Python中获取指定目录下所有文件名的方法

图1 基本流程

2 函数实现

2.1 定义函数

定义一个名为walk的函数,该函数有一个参数dirname,表示指定的当前目录,代码如下所示:

def walk(dirname):

2.2 获取并访问当前目录下的所有子文件夹名及文件名

在《Python中文件名和路径的操作》中提到,可以通过os.listdir()函数获取指定目录下的所有子文件夹名及文件名,因此,在walk()函数内容,有如下代码:

for name in os.listdir(dirname):

以上代码通过for循环访问了os.listdir()函数获取到的所有子文件夹名和文件名,并将其保存到变量name中。

2.3 获取文件的绝对路径

在for循环内部,通过os.path.join()函数,获取文件的绝对路径,代码如下所示:

path = os.path.join(dirname, name)

其中,os.path.join()函数作用是将文件夹名和文件名进行连接,参数dirname是walk()函数的参数,即是文件夹名;参数name是os.listdir()函数获取的子文件夹名或文件名。最后,获取到的绝对路径保存在变量path中。

2.4 判断是否是文件

在for循环内部,获取到了绝对路径path之后,接下来判断path是否是文件,代码如下所示:

if os.path.isfile(path):
   print(path)
else:
   walk(path)

以上代码中,如果path是文件,则打印出该文件名;如果path不是文件,则说明是子文件夹,递归调用walk()函数,显示path子文件夹中的所有文件名。

3 函数调用

要想获取当前Python源文件所在目录的所有文件名,可以通过如下代码实现:

cwd = os.getcwd()
walk(cwd)

其中,os.getcwd()函数获取到当前Python源文件所在目录,将该目录作为参数传递给walk()函数,获取到该目录下的所有文件名。

4 完整代码

该程序的完整代码如下所示:

import os

def walk(dirname):
    for name in os.listdir(dirname):
        path = os.path.join(dirname, name)

        if os.path.isfile(path):
            print(path)
        else:
            walk(path)

cwd = os.getcwd()
walk(cwd)

到此这篇关于Python中获取指定目录下所有文件名的方法的文章就介绍到这了,更多相关内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文地址:https://blog.csdn.net/hou09tian/article/details/131498580

延伸 · 阅读

精彩推荐
  • PythonPython+matplotlib实现简单曲线的绘制

    Python+matplotlib实现简单曲线的绘制

    Matplotlib是Python的绘图库,它能让使用者很轻松地将数据图形化,并且提供多样化的输出格式。本文将利用matplotlib绘制简单的曲线图,感兴趣的朋友可以学...

    PursuitingPeak11542022-12-07
  • Python在dataframe两列日期相减并且得到具体的月数实例

    在dataframe两列日期相减并且得到具体的月数实例

    今天小编就为大家分享一篇在dataframe两列日期相减并且得到具体的月数实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...

    peterchan8815222021-03-12
  • PythonPytorch DataLoader shuffle验证方式

    Pytorch DataLoader shuffle验证方式

    这篇文章主要介绍了Pytorch DataLoader shuffle验证方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...

    循环是人递归是神11392021-11-19
  • Python用pytorch的nn.Module构造简单全链接层实例

    用pytorch的nn.Module构造简单全链接层实例

    今天小编就为大家分享一篇用pytorch的nn.Module构造简单全链接层实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 ...

    AItitanic4402020-04-22
  • PythonPyautoGui常用教程(一篇掌握)

    PyautoGui常用教程(一篇掌握)

    这篇文章主要介绍了PyautoGui常用教程(一篇掌握),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面...

    顽强拼搏的阿k11432021-10-10
  • Pythonpython笔记之mean()函数实现求取均值的功能代码

    python笔记之mean()函数实现求取均值的功能代码

    这篇文章主要介绍了python笔记之mean()函数实现求取均值的功能代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,...

    perfect_young5022021-08-01
  • PythonPython中使用HTMLParser解析html实例

    Python中使用HTMLParser解析html实例

    这篇文章主要介绍了Python中使用HTMLParser解析html实例,本文直接给出使用示例,并总结出HTMLParser含有的方法分为两类,一类是需要显式调用的,而另一类不需显示...

    脚本之家6302020-05-22
  • PythonDjango对接elasticsearch实现全文检索的示例代码

    Django对接elasticsearch实现全文检索的示例代码

    搜索是很常用的功能,如果是千万级的数据应该怎么检索,本文主要介绍了Django对接elasticsearch实现全文检索的示例代码,感兴趣的可以了解一下...

    劲风君9352021-12-16