私のファイルシステムには次のディレクトリ構造があります。
/home/myUser/
stuff_home/
fizz/
a.txt
b.txt
buzz/
1.pdf
widgets/
c.txt
2.pdf
3.pdf
4.pdf
再帰的にトラバースし、そこに含まれるサブディレクトリ、ファイル、およびドキュメントstuff_home/
の数を数えたいと思います。小さな Python スクリプトを作成しました。.txt
.pdf
import os
dirCnt = 0
txtCnt = 0
pdfCnt = 0
def main():
get_counts("/home/myUser/stuff_home")
t = str(txtCnt)
p = str(pdfCnt)
d = str(dirCnt)
print "\nRESULTS\Text Files:\t" + t + "\nPDF Files:\t" + p + "\nDirectories:\t" + d + "\n\n"
def get_counts(root):
contents = os.listdir(root)
for file in contents:
if os.path.isdir(file):
dirCnt = dirCnt + 1
elif os.path.splitext(file)[1] == "txt":
txtCnt = txtCnt + 1
elif os.path.splitext(file)[1] == "pdf":
pdfCnt = pdfCnt + 1
else:
print "Encountered unknown file: " + file
これを実行するとエラーは発生しませんが、スクリプトのコードが明らかに間違っています。これが私が得る出力です:
Encountered unkown file: fizz
Encountered unkown file: buzz
Encountered unkown file: widgets
RESULTS
Text Files: 0
PDF Files: 0
Directories: 0
そこにいるPythoniansに何か飛びつきますか? 私のロジック(ファイルとディレクトリの検出、およびsplitext
ファイル拡張子の取得に使用する)がここで機能していないようです...事前に感謝します!