递归的os.listdir?

tkb*_*kbx 15 python directory

我想以递归方式获取目录中所有文件的列表,没有目录.

假设有一个目录~/files"a.txt","b.txt",目录"c"里面有"d.txt"和"e",e里面有"f.txt".我如何获得一个看起来像的列表['/home/user/files/a.txt', '/home/user/files/b.txt', '/home/user/files/c/d.txt', '/home/user/files/c/e/f.txt']

Joh*_*ooy 46

import os
[os.path.join(dp, f) for dp, dn, fn in os.walk(os.path.expanduser("~/files")) for f in fn]
Run Code Online (Sandbox Code Playgroud)

  • 用`os.path.expanduser("〜/ files")`替换``〜/ files"`.否则,它将找到文字`~`目录而不是主目录. (4认同)