さまざまなサブディレクトリ内のファイルに作用するハンドラーを作成しようとしていますが、スクリプトはこれらのファイルを表示できますが、パスのアセンブルに失敗するため、ファイルに対して何も実行できません。
問題のある部分は、このループに由来します。
for (path, dirs, files) in os.walk("data/"):
for image in files:
#do something to the image
data
これで、スクリプトはディレクトリの最初のレベルで機能しますが、data
のサブディレクトリでは機能しません。
私は使ってみましたos.path.join()
:
for (path, dirs, files) in os.walk("data/"):
print os.path.join(path, dirs)
しかし、それは次のようになります。
Traceback (most recent call last):
File "bench.py", line 26, in <module>
print os.path.join(path, dirs)
File "/usr/lib/python2.7/posixpath.py", line 75, in join
if b.startswith('/'):
AttributeError: 'list' object has no attribute 'startswith'
要するに、私がやりたいのは、のサブディレクトリdata
を含む画像へのパスを組み立てることdata
です。これを行うためのベストプラクティスは何ですか?