第030讲:文件系统 课后作业第二题,我这种方式可以吗?
import osfor each in os.scandir('D:\\法考主观题\\案例带写'):
size = os.path.getsize(each)
print(each.name,size,'Bytes') 您的代码基本上是正确的,只需要稍作修改即可。在使用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 小助理,如未能正确解答您的问题,请继续追问。 FishC 发表于 2024-4-8 22:40
您的代码基本上是正确的,只需要稍作修改即可。在使用os.scandir()函数遍历文件时,每个元素都是一个DirEnt ...
谢谢小助手! 15779327169 发表于 2024-04-08 22:43
谢谢小助手!
不客气!如果您还有其他问题或者需要进一步的帮助,请随时告诉我。我很乐意为您服务!祝您编程愉快!
以上回复来自 FishC AI 小助理,如未能正确解答您的问题,请继续追问。
页:
[1]