python操作系统:获取特定目录下的所有绝对文件路径

python操作系统:获取特定目录下的所有绝对文件路径,python,operating-system,os.walk,Python,Operating System,Os.walk,我有以下文件夹结构: Desktop ├── dir1 │   ├── dir2 │   │   └── file4.pdf │   ├── file2.pdf │   └── file3.pdf └── file1.pdf 我试图返回所有文件及其相对于当前工作目录(桌面)的路径。基于以上示例,我希望: Desktop/file1.pdf Desktop/dir1/file2.pdf Desktop/dir1/file3.pdf Desktop/dir1/dir2/file4.pdf 这是我

我有以下文件夹结构:

Desktop
├── dir1
│   ├── dir2
│   │   └── file4.pdf
│   ├── file2.pdf
│   └── file3.pdf
└── file1.pdf
我试图返回所有文件及其相对于当前工作目录(桌面)的路径。基于以上示例,我希望:

Desktop/file1.pdf
Desktop/dir1/file2.pdf
Desktop/dir1/file3.pdf
Desktop/dir1/dir2/file4.pdf
这是我到目前为止所拥有的,但它无法识别嵌套目录:

import os
for dirpath, dirnames, filenames in os.walk('/Users/Me/Desktop'):
    for file in filenames:
        print os.path.abspath(file)

# /Users/Me/Desktop/file1.pdf
# /Users/Me/Desktop/file2.pdf
# /Users/Me/Desktop/file3.pdf
# /Users/Me/Desktop/file4.pdf

filenames
只是文件名的列表,不存储任何目录信息。这来自
dirpath
,您现在忽略了它

import os
for dirpath, dirnames, filenames in os.walk('/Users/Me/Desktop'):
    for file in filenames:
        print os.path.join(os.path.relpath(dirpath, '/Users/Me/Desktop'), file)

编辑:添加了
os.path.relpath
以提供相对路径而不是绝对路径。请参阅。

文件名
只是文件名的列表,不存储任何目录信息。这来自
dirpath
,您现在忽略了它

import os
for dirpath, dirnames, filenames in os.walk('/Users/Me/Desktop'):
    for file in filenames:
        print os.path.join(os.path.relpath(dirpath, '/Users/Me/Desktop'), file)

编辑:添加了
os.path.relpath
以提供相对路径而不是绝对路径。参见。

Thos给了他绝对路径,还有一点工作要做,以获得OP要求的相对路径。现在就知道了。非常感谢Thos给了他绝对路径,还有一点工作要做,按照OP的要求得到相对路径。现在知道了。非常感谢