如何在python中递归两个目录,只需要目录名?
我正在尝试将Johnny Decimal目录的目录映射自动化为R标记文档。我的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
## 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设置深度级别所需的内容。