Index > 画像ファイル(PNG)でファイルサイズが 0 のファイルを列挙する python
Sun, May 9, 2010

画像ファイル(PNG)でファイルサイズが 0 のファイルを列挙する python

数百ページからなるFrameMakerファイルをリンクして、 RoboHelp経由でHTML Helpを生成しているのだが、 なぜか、RoboHelpが自動生成する画像ファイルの中でサイズが0のファイルが 出現するようになってしまった。

RoboHelpを再起動した後、 強制的に更新、などをすることで、画像ファイルを意図通り正しく 生成することはできるのだが、 何しろ、7000を超える画像点数があるので、 この中で問題がある(=ファイルサイズが 0 のPNGファイル)が本当に ないかどうか調べることができない。(そんな暇ない。)

chkzerosizepngfile.py

これが、カレントディレクトリ内のPNGファイルを列挙した上で、 ファイルサイズを調べて、0 ならプリントするコード。

import os

filenames = os.listdir( os.curdir )
for f in filenames :
    path = os.curdir+'/'+f
    if os.path.isfile(path) and f.endswith('png'):
        fsize=os.path.getsize(path)
        if fsize==0:
            print path

おまけ、bash + awk による問題解決

$ ls -l foo.png | awk '{print $5}'

というシェルスクリプトで、ファイルサイズを調べることは可能なのだが、 Cygwinでは、この処理がとても遅く、7000件処理するのに、数分は軽くかかってしまった。

 Twitter
follow me on Twitter
 Categories