获取文件的绝对路径,以便遍历另一个目录

时间:2012-10-04 11:53:29

标签: python

我在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'

如何解决此问题?

1 个答案:

答案 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))