1

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」であることが原因です。

このがらくたエラーで申し訳ありません。注意していただきありがとうございます

4

0 に答える 0