爱吃泡芙的汤圆 2022-03-12 17:57 采纳率: 100%
浏览 32
已结题

关于python的os模块的问题!

事情是这样的,我需要使用python的os模块进行获取文件夹内的文件,但是过程中遇到了一些问题!
这是我的一个样例文件夹

img

这是没问题的代码:

import os
path = r"C:\Users\YKJ\Desktop\测试"
name_list = os.listdir(path)
for file in name_list:
    file_list = os.path.splitext(file)
    print(file_list)

这是运行结果

('新建 BMP 图像', '.bmp')
('新建 Microsoft PowerPoint 演示文稿', '.pptx')
('新建 Microsoft Publisher Document', '.pub')
('新建 Microsoft Word 文档', '.docx')
('新建 文本文档', '.txt')
('新建文件夹', '')

可以很成功的把文件名和文件后缀名进行分离!
但是!
我把文件里的添加上一个这么一个目录!

img

然后我们在看看运行结果!

('新建 BMP 图像', '.bmp')
('新建 Microsoft PowerPoint 演示文稿', '.pptx')
('新建 Microsoft Publisher Document', '.pub')
('新建 Microsoft Word 文档', '.docx')
('新建 文本文档', '.txt')
('新建文件夹', '')
('新建文件夹', '.123')

最后会出现问题?
他把目录的文件夹命名给区分开了!
最后:
该怎么区分一个文件里的目录和文件呢?
被这个小bug卡住了!

  • 写回答

4条回答 默认 最新

  • 陈年椰子 2022-03-12 18:10
    关注

    我没注意看代码, 这样试试,把目录拼接起来

    import os
    path = r"C:\Users\YKJ\Desktop\测试"
    name_list = os.listdir(path)
    for file in name_list:
        file_path = os.path.join(check_path, file)
        if os.path.isdir(file_path):
            print("目录",file)
        else:
            file_list = os.path.splitext(file)
            print(file_list)
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 3月20日
  • 已采纳回答 3月12日
  • 创建了问题 3月12日

悬赏问题

  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line