鱼C论坛

 找回密码
 立即注册
查看: 2253|回复: 1

030 作业好难啊帮忙看看呗(1)

[复制链接]
发表于 2021-2-17 15:43:27 | 显示全部楼层 |阅读模式

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

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

x
1. 编写一个程序,计算当前文件夹下所有文件的大小,程序实现如图:58?t|

                               
登录/注册后可看大图

import os

all_files = os.listdir(os.curdir)
file_dict = dict()

for each_file in all_files:
    if os.path.isfile(each_file):
        file_size = os.path.getsize(each_file)
        file_dict[each_file] = file_size
#这句是什么意思呢?给字典里的每一项赋值file_size嘛?但是给字典赋值方法里面没有这个做法呀?
for each in file_dict.items():
    print('%s【%dBytes】' % (each[0], each[1]))



我试着自己在shell里面打开了电脑里的其他文件夹,但出现了下面错误为什么呢?

>>> all_files1 = os.listdir('E:\\手机文件\\12.18传')
>>> all_files1
['500元支出计划.doc', 'environment.pub', '万能论据2019.docx', '主席团指导近期工作.doc', '反思总结.doc', '发言.doc', '四级写作语料积累学习场景(1).doc', '四级写作语料积累学习场景.doc', '学生会.doc', '志愿者信息统计.xls', '总结2.doc', '时间安排.doc', '本义反函数.doc', '竞选.doc', '管理清单(总).xlsx', '英文辩论.doc', '英语介绍2.doc', '英语讲话3.doc', '视听说5班.doc', '读写第二单元课文.doc']
>>> for each_file in all_files:
        if os.path.isfile(each_file):
                file_size = os.path.getsize(each_file)

>>> for each_file in all_files1:
        if os.path.isfile(each_file):
                file_size = os.path.getsize(each_file)

>>>
>>> file_size
Traceback (most recent call last):
  File "<pyshell#10>", line 1, in <module>
    file_size
NameError: name 'file_size' is not defined
#为什么会说未定义呢,我上面不是定义过了嘛
>>> os.path.getsize(each_file)
Traceback (most recent call last):
  File "<pyshell#11>", line 1, in <module>
    os.path.getsize(each_file)
  File "C:\Users\lyl\AppData\Local\Programs\Python\Python37\lib\genericpath.py", line 50, in getsize
    return os.stat(filename).st_size
FileNotFoundError: [WinError 2] 系统找不到指定的文件。: '读写第二单元课文.doc'


#为什么会找不到呢,我的电脑里也有这个文件呀
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2021-2-17 17:15:26 | 显示全部楼层
第一个问题
给字典里的每一项赋值file_size
这是字典的方法
>>> test = dict()
>>> test['张三'] = 99
>>> test
{'张三': 99}

第二个问题

each_file是文件名,不是路径,python默认自己所在的文件夹为路径
这里更改了路径需要修改代码
for each_file in all_files:
        if os.path.isfile(each_file):
                file_size = os.path.getsize('E:\\手机文件\\12.18传'+each_file)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-1-16 13:47

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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