|
|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
第30讲里面有一道题:编写一个程序,计算当前文件夹下所有文件的大小
import os
fi = {}
fi.fromkeys(os.listdir(),0)
for f in fi.keys():
if os.path.isfile(f):
fi[f] = os.path.getsize(f)
print('%s 【%dBytes】' %(f,fi[f]))#到这里为止是我自己写的,下面是小甲鱼的答案
'''
import os
all_files = os.listdir(os.curdir) # 使用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
for each in file_dict.items():
print('%s【%dBytes】' % (each[0], each[1]))
'''
想请问一下为什么我的代码没有print出来内容呀
本帖最后由 zltzlt 于 2020-2-16 20:24 编辑
dict.fromkeys() 是生成一个新字典,不会改变原字典。
代码帮你改了:
- import os
- fi = dict.fromkeys(os.listdir(os.curdir), 0)
- for f in fi.keys():
- if os.path.isfile(f):
- fi[f] = os.path.getsize(f)
- print('%s 【%dBytes】' % (f, fi[f]))
复制代码
或者不使用字典,这样改:
- import os
- fi = os.listdir()
- for f in fi[:]:
- if os.path.isfile(f):
- size = os.path.getsize(f)
- print('%s 【%dBytes】' %(f,size))
复制代码
|
|