python遍历文件夹中所有文件_python查找文件夹「建议收藏」

python遍历文件夹中所有文件_python查找文件夹「建议收藏」引入在Python中我们一般使用os模块来操作文件夹或文件,os为Python的内置模块,使用时直接导入即可:importos当文件夹内只有文件时_python遍历文件夹所有文件

引入

在Python中我们一般使用os模块来操作文件夹或文件,os为Python的内置模块,使用时直接导入即可:

import os

当文件夹内只有文件时–listdir()

当目标文件夹中只有文件时,我们使用os模块的listdir()方法即可:该方法可以返回目标路径下的文件和文件夹的名字列表,参数就是目标路径。

荔枝:
文件结构如下:

  • E:\test2
  • ——–文件1.txt
  • ——–文件2.txt
  • ——–文件3.xlsx
def getfiles():
    filenames=os.listdir(r'E:\test')
    print(filenames)

结果图如下:
结果图1

当文件中既有文件又有文件夹时–os.walk()

当目标文件中既有文件又有文件夹时,我们使用listdir()方法就只能获得第一层子文件或文件夹了,而子文件夹中的内容便获取不到了。
荔枝:
文件结构如下:

  • E:\test2
  • ——-目录1
  • ————–目录11
  • ——————–文件111.txt
  • ——————–文件112.txt
  • ————–文件11.txt
  • ————–文件12.txt
  • ——-目录2
  • ————–文件21.vsdx
  • ——-文件1.txt
  • ——-文件2.txt
def getfiles():
    filenames=os.listdir(r'E:\test2')
    print(filenames)

结果如图:只显示出第一层子文件和文件夹
结果图2
这时候我们需要用到os.walk()方法:传入目标路径即可。该方法可以递归的找出目表路径下的所有文件,无论他藏的有多深~

def get_files():
    for filepath,dirnames,filenames in os.walk(r'E:\test2'):
        for filename in filenames:
            print (filename)

结果图3
os.walk()方法可以生成三元组,也就是我们代码中的filepath,dirnames,filenames,我们将他们分别打印出来可以看到:
其中filepath就是目标路径下所有文件的路径:
结果图4
其中dirnames是我们目标路径的所有目录名称:
结果图5
其中filenames则是各个路径下的文件名称列表:
结果图6

扩充—获得目标路径下的所有文件的绝对路径

如果你足够细心的话,就会发现我们的filepath和filenames打印的结果图是一一对应的关系:文件1.txt和文件2.txt的路径就是E:\test2;文件11.txt和文件12.txt的路径就是E:\test2\目录1;以此类推。那么我们把这两个返回值拼在一起,不就是各个文件的绝对路径了么?

def get_files():
    for filepath,dirnames,filenames in os.walk(r'E:\test2'):
        for filename in filenames:
            print(os.path.join(filepath,filename))

我们遍历目标路径下的各个文件,用os.path.join()方法将文件路径和文件名拼接在一起,就是各个文件的绝对路径了:
结果图7
小提示:os.path.join()方法就是将目录和文件合成一个路径的方法。

今天的文章python遍历文件夹中所有文件_python查找文件夹「建议收藏」分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/70621.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注