我想用 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'
抱歉这个垃圾错误,感谢您的关注