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。我只能在debian下使用python。但是我要走的目录树在 DSM 下。所以我这样做了mount -o bind /volume1/music $CHROOT/music 如果我ls在我的 debian 下做了一个,我会看到目录,但是使用 python 的 os.walk 它不起作用。即使使用 followlinks = true (os.walk 的最后一个参数)。

有人有想法吗?

编辑:我发现了问题,它来自fpath=open('config/path.conf','r') path=fpath.readline()路径值是 '../music_vibration\n' 而不是 '../music_vibration'

抱歉这个垃圾错误,感谢您的关注

4

0 回答 0