0

我正在学习 os 模块,我需要努力打印仅零长度文件的文件名和计数。

到目前为止,我认为最简单的方法是生成一个列表或文件元组及其大小,格式如下:

((zerotextfile1.txt, 0), (notazerotextfile.txt, 15))

然后使用 if 语句仅打印长度为零的文件。

然后使用 sum 函数将列表项的数量相加以获得零长度文件的计数。

到目前为止,我已经有了一些零碎的东西——如何把它们放在一起我遇到了麻烦。

我的一些位(我设法编写的可行代码,不多,我知道):

import os
place = 'C:\\Users\\Me\\Documents\\Python Programs\\'
for files in os.walk(place):
    print (files)

然后是 os.path.getsize() 之类的东西,它需要我输入一个文件名,所以我想我必须使用 for 循环来打印这个函数中的文件名列表才能让它工作, 正确的?

任何提示或指向正确方向将不胜感激!

4

2 回答 2

3
import os
place = 'C:\\Users\\Me\\Documents\\Python Programs\\'
for root, dirs, files in os.walk(place):
    for f in files:
        file_path = os.path.join(root, f) #Full path to the file
        size = os.path.getsize(file_path) #pass the full path to getsize()
        if size == 0:
            print f, file_path
于 2013-10-18T12:26:05.467 回答
0

您在寻找以下内容吗?

import os
place = 'C:\\Users\\Me\\Documents\\Python Programs\\'
for files in os.walk(place):
    if os.path.getsize(b[0] + '\\' +b[2][0]) == 0:
        print (files)
于 2013-10-18T12:28:29.493 回答