http://blog.taikomatsu.com/2007/09/05/python-%E7%89%B9%E5%AE%9A%E3%83%87%E3%82%A3%E3%83%AC%E3%82%AF%E3%83%88%E3%83%AA%E4%BB%A5%E4%B8%8B%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E6%95%B0%E3%82%92%E8%AA%BF%E3%81%B9%E3%82%8B/
をやってみようと思ったら
http://blog.panicblanket.com/archives/631
使った方が楽そう!
ってなわけで
import os import sys if(len(sys.argv) == 1): myStr = input("検索したいパス: ") else: myStr = sys.argv[1] if(not os.path.isdir(myStr)): print("フォルダを入力してください") sys.exit() tableStr = '<table>' tableStr += '<tr><th>パス</th><th>ファイルの数</th></tr>\n' for root, dirs, files in os.walk(myStr): tableStr += f'<tr><td><a href="{root}">{root}</td>' tableStr += f'<td>{len(files)}</td></tr>\n' html = f""" <!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> </head> <body> {tableStr} </body> </html> """ f = open('ファイルカウント.html', 'wb') f.write(html.encode('utf-8')) f.close()
これで、実行したフォルダに「ファイルカウント.html」ができてるはず
コピペの都合で一応パラメータでも指定できるようにした!
for root, dirs, files in os.walk(myStr):
が難しいよぉぉ。コピペ以外で思いつかないw
Python3 入門:for文 list ,dict ,zip ,enumerate , - hirhirの日記
読んで2つまではわかるんだよ。インデックスと値。
この3つはインデックスでも値でもねぇ気がすっぞ(;´Д`)
もうチョット勉強しまする・・・。
アウトプット
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> </head> <body> <table><tr><th>パス</th><th>ファイルの数</th></tr> <tr><td><a href="c:\test">c:\test</td><td>0</td></tr> <tr><td><a href="c:\test\test(1)">c:\test\test(1)</td><td>1</td></tr> <tr><td><a href="c:\test\test(10)">c:\test\test(10)</td><td>10</td></tr> <tr><td><a href="c:\test\test(10)\test(1)">c:\test\test(10)\test(1)</td><td>1</td></tr> <tr><td><a href="c:\test\test(10)\test(2)">c:\test\test(10)\test(2)</td><td>2</td></tr> <tr><td><a href="c:\test\test(10)\test(3)">c:\test\test(10)\test(3)</td><td>3</td></tr> <tr><td><a href="c:\test\test(10)\test(4)">c:\test\test(10)\test(4)</td><td>4</td></tr> <tr><td><a href="c:\test\test(10)\test(5)">c:\test\test(10)\test(5)</td><td>5</td></tr> <tr><td><a href="c:\test\test(10)\test(6)">c:\test\test(10)\test(6)</td><td>6</td></tr> <tr><td><a href="c:\test\test(10)\test(7)">c:\test\test(10)\test(7)</td><td>7</td></tr> <tr><td><a href="c:\test\test(10)\test(8)">c:\test\test(10)\test(8)</td><td>8</td></tr> <tr><td><a href="c:\test\test(10)\test(9)">c:\test\test(10)\test(9)</td><td>9</td></tr> <tr><td><a href="c:\test\test(2)">c:\test\test(2)</td><td>2</td></tr> <tr><td><a href="c:\test\test(3)">c:\test\test(3)</td><td>3</td></tr> <tr><td><a href="c:\test\test(4)">c:\test\test(4)</td><td>4</td></tr> <tr><td><a href="c:\test\test(5)">c:\test\test(5)</td><td>5</td></tr> <tr><td><a href="c:\test\test(6)">c:\test\test(6)</td><td>6</td></tr> <tr><td><a href="c:\test\test(7)">c:\test\test(7)</td><td>7</td></tr> <tr><td><a href="c:\test\test(8)">c:\test\test(8)</td><td>8</td></tr> <tr><td><a href="c:\test\test(9)">c:\test\test(9)</td><td>9</td></tr> </body> </html>