我在python中有一个小的剪切,它打算遍历所有目录,子目录和manitain所有文件的绝对路径列表。
代码:
import os , pickle
root="/home/me/programs/"
l = [] #Will have list of all the files parsed through
for dname,subdirlist,flist in os.walk(root):
for fname in flist:
l.append(os.path.abspath(fname))
即使我正在解析所有文件,我的输出前缀为/home/me/programs/
,而不管实际的绝对路径。
例如,而不是有
'/home/me/programs/cpp/sample/test.c'
我将'/home/me/programs/test.c'
如何解决此问题?
答案 0 :(得分:1)
如os.walk
doc中所述,您必须加入fname的根路径才能获得绝对路径:
import os , pickle
root="/home/me/programs/"
l = [] #Will have list of all the files parsed through
for dname,subdirlist,flist in os.walk(root):
for fname in flist:
l.append(os.path.join(dname, fname))