在python中查找和打印零长度文件的文件名

时间:2013-10-18 12:17:24

标签: python module operating-system

我正在学习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循环在这个函数中按顺序打印文件名列表让它发挥作用,对吗?

任何提示或指向正确方向的人都会非常感激!

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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)