如何在python中递归两个目录,只需要目录名?

如何在python中递归两个目录,只需要目录名?,python,operating-system,markdown,Python,Operating System,Markdown,我正在尝试将Johnny Decimal目录的目录映射自动化为R标记文档。我的Python脚本只返回顶级目录。我一点也不想把第二关降下来 我尝试过使用“导入路径库”和“导入操作系统”。“导入操作系统”让我更进一步 我得到: # Johnny Decimal ## 10 ## 20 我希望得到: # Johnny Decimal ## 10 ### 11 ### 12 ## 20 ### 21 ### 22 os.listdir只返回没有路径名的文件名,而os.path.isd

我正在尝试将Johnny Decimal目录的目录映射自动化为R标记文档。我的Python脚本只返回顶级目录。我一点也不想把第二关降下来

我尝试过使用“导入路径库”和“导入操作系统”。“导入操作系统”让我更进一步

我得到:

# Johnny Decimal

## 10

## 20
我希望得到:

# Johnny Decimal

## 10

### 11

### 12

## 20

### 21

### 22

os.listdir
只返回没有路径名的文件名,而
os.path.isdir
需要完整的路径名,因此在将路径名传递给
os.path.isdir
之前,应使用
os.path.join
将路径名与文件名连接起来:

for d1 in os.listdir(path):
    path2 = os.path.join(path, d)
    if os.path.isdir(path2):
        print("## " + d1 + "\r\n")
        for d2 in os.listdir(path2):
            if os.path.isdir(os.path.join(path2, d2)):
                print("### " + d2 + "\r\n")

os.listdir
只返回没有路径名的文件名,而
os.path.isdir
需要完整的路径名,因此在将路径名传递给
os.path.isdir
之前,应使用
os.path.join
将路径名与文件名连接起来:

for d1 in os.listdir(path):
    path2 = os.path.join(path, d)
    if os.path.isdir(path2):
        print("## " + d1 + "\r\n")
        for d2 in os.listdir(path2):
            if os.path.isdir(os.path.join(path2, d2)):
                print("### " + d2 + "\r\n")
请参阅-您需要修改它以提供目录名,但这将为您提供使用os.walk设置深度级别所需的内容。请参阅-您需要修改它以提供目录名,但这将为您提供使用os.walk设置深度级别所需的内容。