1Z啊 发表于 2020-12-6 23:27:35

第030讲课后01题

本帖最后由 1Z啊 于 2020-12-6 23:38 编辑

def sizelist(file_name):
    import os
    list1 = os.listdir(file_name)
    for each in list1:
      x = os.path.getsize(each)
      print(each, '【', x, 'Bytes】')


sizelist('D:/python文件/文本')


为什么有些搜索文件夹会出现FileNotFoundError: 系统找不到指定的文件。: 'a.txt'
而有些却完美运行了呢?

昨非 发表于 2020-12-7 00:28:01

在for循环下第一行加上
if os.path.isfile(each):
的判断再试试

1Z啊 发表于 2020-12-7 15:58:36

昨非 发表于 2020-12-7 00:28
在for循环下第一行加上

的判断再试试

为什么报错的文件夹的文件路径会不正确呢

昨非 发表于 2020-12-7 16:09:36

1Z啊 发表于 2020-12-7 15:58
为什么报错的文件夹的文件路径会不正确呢

os.path.getsize(path)        返回文件大小,如果文件不存在就返回错误

os.path.isfile(path)        判断路径是否为文件 如果不是文件的话,getsize会报错的

昨非 发表于 2020-12-7 16:11:24

这部分我也不太熟悉,每次有用到都要查
https://fishc.com.cn/forum.php?mod=viewthread&tid=45512&extra=page%3D1%26filter%3Dtypeid%26typeid%3D403
总之还是参考答案和文档比较好

1Z啊 发表于 2020-12-7 16:18:16

昨非 发表于 2020-12-7 16:11
这部分我也不太熟悉,每次有用到都要查
https://fishc.com.cn/forum.php?mod=viewthread&tid=45512&extra= ...

我好想明白了,我先试试哈

昨非 发表于 2020-12-7 16:18:54

1Z啊 发表于 2020-12-7 16:18
我好想明白了,我先试试哈

好,解决了过来说一声哈

1Z啊 发表于 2020-12-7 16:20:57

昨非 发表于 2020-12-7 16:11
这部分我也不太熟悉,每次有用到都要查
https://fishc.com.cn/forum.php?mod=viewthread&tid=45512&extra= ...

哦,我明白了,是我自己的疏忽

1Z啊 发表于 2020-12-7 16:24:36

1Z啊 发表于 2020-12-7 16:20
哦,我明白了,是我自己的疏忽

改成这样就好了
list1里的只是文件名,而getsize要输入的是路径
def sizelist(folder_name):
    import os
    list1 = os.listdir(folder_name)
    for each in list1:
      y = str(folder_name + '/'+ each)
      x = os.path.getsize(y)
      print(each, '【', x, 'Bytes】')


sizelist('D:/python文件/文本')

1Z啊 发表于 2020-12-7 16:25:13

改成这样就好了
list1里的只是文件名,而getsize要输入的是路径
def sizelist(folder_name):
    import os
    list1 = os.listdir(folder_name)
    for each in list1:
      y = str(folder_name + '/'+ each)
      x = os.path.getsize(y)
      print(each, '【', x, 'Bytes】')


sizelist('D:/python文件/文本')

昨非 发表于 2020-12-7 16:25:39

1Z啊 发表于 2020-12-7 16:24
改成这样就好了
list1里的只是文件名,而getsize要输入的是路径
def sizelist(folder_name):


额,还是文档好使吧哈哈哈

解决了记得设置最佳答案哈
页: [1]
查看完整版本: 第030讲课后01题