gpt4 book ai didi

python - 如何遍历目录树并继续循环?

转载 作者:行者123 更新时间:2023-12-01 04:23:38 24 4
gpt4 key购买 nike

我正在尝试学习Python。我试图遍历目录并打印目录路径、从目录名和文件名中提取的数字,但我的循环不会继续:它仅从第一个目录打印此信息。如何继续这个循环?

#!/usr/bin/python

import os
import re

#change directory
os.chdir('/Users/me/Pictures/')

for root, dirs, files in os.walk(os.getcwd()):
for i in dirs:
val = re.search('\d+', i)
if val:
a = os.path.join(root, i)
for f in files:
print a, val.group(0), f

最佳答案

您正在匹配子目录的名称,而不是当前目录的名称。如果您只有一层带有数字的嵌套目录,那么一旦您进入这些子目录,您的if语句就会出错。

我认为您不明白,在每次迭代中,root列出的目录的路径,dirs目录名称列表。

改为与root匹配:

for root, dirs, files in os.walk(os.getcwd()):
dirname = os.path.basename(root)
val = re.search('\d+', dirname)
if val:
for f in files:
print a, val.group(0), f

关于python - 如何遍历目录树并继续循环?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33408602/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com