Pythonでディレクトリツリーをたどりたい。この解決策を見つけました。
def createIndex():
fpath=open('config/path.conf','r')
path=fpath.readline()
indexstr=''
for dirname, dirnames, filenames in os.walk(path,True,None,True):
indexstr = indexstr + 'directory : ' + dirname + '\n'
for subdirname in dirnames:
indexstr = indexstr + 'subdirectory :' + subdirname + '\n'
for filename in filenames:
indexstr = indexstr + 'file : ' + filename + '\n'
return indexstr
私のコンピューターとローカルテストでは問題なく動作します。しかし、私の目的は、リモート サーバーで同じことを行うことです。問題は、リモート サーバー上で、移動したいディレクトリ ツリーがディレクトリではないことです。このサーバー (NAS Synology) で chroot と debootstrap を実行しました。Python は debian でのみ使用できます。しかし、私が歩きたいディレクトリ ツリーは DSM の下にあります。だから私はこれmount -o bind /volume1/music $CHROOT/music
をしました。私のdebianで実行した場合ls
、ディレクトリが表示されますが、pythonのos.walkでは機能しません。followlinks = true (os.walk の最後の引数) でも。
誰にもアイデアはありますか?
編集:問題が見つかりました。fpath=open('config/path.conf','r') path=fpath.readline()
パスの値が「../music_vibration」ではなく「../music_vibration\n」であることが原因です。
このがらくたエラーで申し訳ありません。注意していただきありがとうございます