爱吃泡芙的汤圆 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 微信会员卡等级和折扣规则
  • ¥15 微信公众平台自制会员卡可以通过收款码收款码收款进行自动积分吗
  • ¥15 随身WiFi网络灯亮但是没有网络,如何解决?
  • ¥15 gdf格式的脑电数据如何处理matlab
  • ¥20 重新写的代码替换了之后运行hbuliderx就这样了
  • ¥100 监控抖音用户作品更新可以微信公众号提醒
  • ¥15 UE5 如何可以不渲染HDRIBackdrop背景
  • ¥70 2048小游戏毕设项目
  • ¥20 mysql架构,按照姓名分表
  • ¥15 MATLAB实现区间[a,b]上的Gauss-Legendre积分