我正在尝试将Johnny Decimal目录的目录映射自动化为R Markdown文档。我的Python脚本只返回顶级目录。我根本没有得到第二个级别的下降。
我试过使用"import pathlib“和"import os”。我进一步介绍了"import os“。
import os
path = "c:\\local\\top"
print("# Johnny Decimal\r\n")
for d1 in filter(os.path.isdir, os.listdir(path)):
path2 = path + "\\" + d1
print("## " + d1 + "\r\n")
for d2 in filter(os.path.isdir, os.listdir(path2)):
print("### " + d2 + "\r\n")
我得到了:
# Johnny Decimal
## 10
## 20
我期望得到:
# Johnny Decimal
## 10
### 11
### 12
## 20
### 21
### 22
发布于 2019-02-17 13:10:45
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")
https://stackoverflow.com/questions/54730228
复制相似问题