15779327169 发表于 2024-4-8 22:40:25

第030讲:文件系统 课后作业第二题,我这种方式可以吗?

import os
for each in os.scandir('D:\\法考主观题\\案例带写'):
    size = os.path.getsize(each)
    print(each.name,size,'Bytes')

FishC 发表于 2024-4-8 22:40:51

您的代码基本上是正确的,只需要稍作修改即可。在使用os.scandir()函数遍历文件时,每个元素都是一个DirEntry对象,而不是文件的路径字符串。因此,您需要使用DirEntry对象的path属性来获取文件的路径,然后再通过os.path.getsize()函数获取文件大小。

这是修改后的代码:

import os

for entry in os.scandir('D:\\法考主观题\\案例带写'):
    if entry.is_file():
      size = os.path.getsize(entry.path)
      print(entry.name, size, 'Bytes')

在遍历文件时,还可以使用entry.is_file()函数进行判断,确保只计算文件的大小。这样可以避免遍历到文件夹时出现错误。

希望对您有帮助!如果还有其他问题,请随时提问。

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。

15779327169 发表于 2024-4-8 22:43:32

FishC 发表于 2024-4-8 22:40
您的代码基本上是正确的,只需要稍作修改即可。在使用os.scandir()函数遍历文件时,每个元素都是一个DirEnt ...

谢谢小助手!

FishC 发表于 2024-4-8 22:43:45

15779327169 发表于 2024-04-08 22:43
谢谢小助手!

不客气!如果您还有其他问题或者需要进一步的帮助,请随时告诉我。我很乐意为您服务!祝您编程愉快!

以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页: [1]
查看完整版本: 第030讲:文件系统 课后作业第二题,我这种方式可以吗?