鱼C论坛

 找回密码
 立即注册
查看: 3734|回复: 10

python关于文件系统的问题

[复制链接]
发表于 2017-2-16 12:01:19 | 显示全部楼层 |阅读模式
2鱼币
  1. import os
  2. all_files = os.listdir('E:\\python专用test')
  3. dict1 = dict()
  4. for each_file in all_files:
  5.     if os.path.isfile(each_file):
  6.         size = os.path.getsize(each_file)
  7.         dict1[each_file] = size
  8. for each in dict1.items():
  9.     print('%s【%dBytes】' % (each[0],each[1]))
  10.       

复制代码


题目要求算出目录下的各个文件大小,我这个代码跟小甲鱼的差不多,但是为什么运行后dict1是一个空的字典。{}

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

使用道具 举报

发表于 2017-2-16 13:40:34 | 显示全部楼层
你这个目录有没有文件???(是文件不是文件夹)
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-2-16 15:01:44 | 显示全部楼层
WylLy 发表于 2017-2-16 13:40
你这个目录有没有文件???(是文件不是文件夹)

有的,我专门创建了一个文件夹,里面新建了几个各种类型的文件。
QQ图片20170216145938.png
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-2-16 18:19:57 | 显示全部楼层
os.path.isfile(each_file)要包含路径,即os.path.isfile('E:\\python专用test\\'+each_file),否则会在你工作的目录寻找,只能返回false
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-2-16 22:04:18 | 显示全部楼层
小小王python 发表于 2017-2-16 18:19
os.path.isfile(each_file)要包含路径,即os.path.isfile('E:\\python专用test\\'+each_file),否则会在你工 ...

可是我在上一行不是已经说each_file 在all_files里面了吗,而all_files在我的那个路径里,这样还是没用吗。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-2-17 05:38:10 | 显示全部楼层
先chang DIR到pythontest专用目录下, 再执行你上面的程序.....
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-2-17 05:58:39 | 显示全部楼层
如果叫我写一个, 我会这样写,,,没学过PYTHON。。。


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

使用道具 举报

发表于 2017-2-17 06:01:58 | 显示全部楼层
写一个好像挺复杂的, 如果目录下又有目录。。。。。
递归。。。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-2-17 09:50:11 | 显示全部楼层
喜欢散步 发表于 2017-2-17 06:01
写一个好像挺复杂的, 如果目录下又有目录。。。。。
递归。。。

这是C语言吗   看不懂啦
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2017-2-17 09:54:15 | 显示全部楼层
喜欢散步 发表于 2017-2-17 05:38
先chang DIR到pythontest专用目录下, 再执行你上面的程序.....

啊哈 ,搞定了  谢啦
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-2-19 18:58:55 | 显示全部楼层
  1. import os
  2. os.chdir('E:\\python专用test')
  3. all_files = os.listdir()
  4. dict1 = dict()
  5. for each_file in all_files:
  6.     if os.path.isfile(each_file):
  7.         size = os.path.getsize(each_file)
  8.         dict1[each_file] = size
  9. for each in dict1.items():
  10.     print('%s【%dBytes】' % (each[0],each[1]))
  11.       
  12. 像目录类问题,建议先切换工作目录在做。
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-12-22 13:59

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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