鱼C论坛

 找回密码
 立即注册
查看: 795|回复: 9

[课后作业] 第030讲:第0题

[复制链接]
发表于 2018-9-10 09:40:51 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
为什么我把第二行的os.curdir换成os.pardir,运行结果‘文件夹’类型显示为空呢,求大神解答。。。


import os
all_files = os.listdir(os.pardir) # 使用os.curdir表示当前目录更标准
type_dict = dict()

for each_file in all_files:
    if os.path.isdir(each_file):
        type_dict.setdefault('文件夹', 0)
        type_dict['文件夹'] += 1
    else:
        ext = os.path.splitext(each_file)[1]
        type_dict.setdefault(ext, 0)
        type_dict[ext] += 1

for each_type in type_dict.keys():
    print('该文件夹下共有类型为【%s】的文件 %d 个' % (each_type, type_dict[each_type]))
        



小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-9-10 09:50:55 | 显示全部楼层
listdir的都是父目录的内容,
他们在当前目录不会被识别,你可以把路径补全
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-10 10:25:23 | 显示全部楼层
塔利班 发表于 2018-9-10 09:50
listdir的都是父目录的内容,
他们在当前目录不会被识别,你可以把路径补全

补全了执行结果也一样,文件夹类型就只显示【】

====================== RESTART: E:/Python/test_py/1.py ======================
该文件夹下共有类型为【.py】的文件 1 个
该文件夹下共有类型为【.exe】的文件 5 个
该文件夹下共有类型为【】的文件 10 个
该文件夹下共有类型为【.txt】的文件 2 个
该文件夹下共有类型为【.whl】的文件 2 个
该文件夹下共有类型为【.pdb】的文件 6 个
该文件夹下共有类型为【.dll】的文件 5 个
>>>
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-10 10:27:49 | 显示全部楼层
122815306 发表于 2018-9-10 10:25
补全了执行结果也一样,文件夹类型就只显示【】

====================== RESTART: E:/Python/test_py/ ...

你发出来你的代码,看怎么补全的
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-10 16:31:34 | 显示全部楼层
塔利班 发表于 2018-9-10 10:27
你发出来你的代码,看怎么补全的

import os
all_files = os.listdir('E:/Python') # 使用os.curdir表示当前目录更标准
type_dict = dict()

for each_file in all_files:
    if os.path.isdir(each_file):
        type_dict.setdefault('文件夹', 0)
        type_dict['文件夹'] += 1
    else:
        ext = os.path.splitext(each_file)[1]
        type_dict.setdefault(ext, 0)
        type_dict[ext] += 1

for each_type in type_dict.keys():
    print('该文件夹下共有类型为【%s】的文件 %d 个' % (each_type, type_dict[each_type]))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-10 16:34:57 | 显示全部楼层
122815306 发表于 2018-9-10 16:31
import os
all_files = os.listdir('E:/Python') # 使用os.curdir表示当前目录更标准
type_dict = dict ...

结果是你也没发出来补全的
你这个py文件就是E:/Python下面的?
发个Py文件目录截图?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-10 17:07:26 | 显示全部楼层
塔利班 发表于 2018-9-10 16:34
结果是你也没发出来补全的
你这个py文件就是E:/Python下面的?
发个Py文件目录截图?

我这就是查找E:/Python下所有的文件啊

不知道怎么放截图
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-10 17:12:22 | 显示全部楼层
122815306 发表于 2018-9-10 17:07
我这就是查找E:/Python下所有的文件啊

不知道怎么放截图

你这个Py文件在不在E:/Python的根目录下
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-9-11 11:04:29 | 显示全部楼层
塔利班 发表于 2018-9-10 17:12
你这个Py文件在不在E:/Python的根目录下

你这么一说倒提醒我了,要先改变目录,这样就可以了
非常感谢哈~~~~~

import os
all_files = os.listdir(os.chdir('E:/Python')) # 使用os.curdir表示当前目录更标准
type_dict = dict()

for each_file in all_files:
    if os.path.isdir(each_file):
        type_dict.setdefault('文件夹', 0)
        type_dict['文件夹'] += 1
    else:
        ext = os.path.splitext(each_file)[1]
        type_dict.setdefault(ext, 0)
        type_dict[ext] += 1

for each_type in type_dict.keys():
    print('该文件夹下共有类型为【%s】的文件 %d 个' % (each_type, type_dict[each_type]))
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-11 11:17:28 | 显示全部楼层
嗯,你确认下最佳答案就行
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2026-1-2 02:41

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表