m0_70680242 2022-07-13 19:19 采纳率: 82.2%
浏览 28
已结题

关于os模块调用提问

import os 
path = os.getwd()#①
lst = os.walk(path)#②
for dirpath,dirname,filename in lst#
    print(dirpath)
    print(dirname)
    print(filename)

这个代码是怎么做到读取文件所在路径内所有文件(包括子文件)
我的角度:
①path用于存储当前的文件目录得到的是一个程序启动时程序所在的目录列表(包括目录)
②lst的用于得到一个元组(程序所在的文件夹,文件夹的二级文件夹,当前文件夹内的文件)
如果遍历这个lst的话得到的应该只有这元组三个元素,为什么能顺着二级文件遍历?我错在哪?

  • 写回答

3条回答 默认 最新

  • 快乐小土狗 2022-07-13 19:38
    关注

    模块os中的walk()函数可以遍历文件夹下所有的文件。
    该函数可以得到一个三元tupple(dirpath, dirnames, filenames).
    参数含义:
    dirpath:string,代表目录的路径;
    dirnames:list,包含了当前dirpath路径下所有的子目录名字(不包含目录路径);
    filenames:list,包含了当前dirpath路径下所有的非目录子文件的名字(不包含目录路径)。

    def walk(file_path):
        file_dir = os.walk(file_path)
        for root, dirs, files in file_dir: 
            print('**当前目录路径 :')
            print(root) #当前目录路径 
            print('\n')
            print('**当前路径下所有子目录  :')
            print(dirs) #当前路径下所有子目录 
            print('\n')
            print('**当前路径下所有非目录子文件   :')
            print(files) #当前路径下所有非目录子文件 
            print('\n')
    
    

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 7月15日
  • 已采纳回答 7月14日
  • 创建了问题 7月13日

悬赏问题

  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line