os.walk()中的python for循环
我写这段代码是为了获得目录中的文件数,但我需要它来计算运行时的输出行数os.walk()中的python for循环,python,loops,os.walk,Python,Loops,Os.walk,我写这段代码是为了获得目录中的文件数,但我需要它来计算运行时的输出行数 import os for dir,subdir,files in os.walk(r"C:\Users\adam\Desktop\test"): i = 0 i = i + 1 print(str(i) + ": files "+str(len(files))) 输出: 1: files 3 1: files 0 1: files 0 线路号是不变的,保持1??我如何解决它,并解释为什么我需
import os
for dir,subdir,files in os.walk(r"C:\Users\adam\Desktop\test"):
i = 0
i = i + 1
print(str(i) + ": files "+str(len(files)))
输出:
1: files 3
1: files 0
1: files 0
线路号是不变的,保持1??我如何解决它,并解释为什么我需要理解,因为您在每次迭代中都初始化i=0
import os
i = 0
for dir,subdir,files in os.walk(r"C:\Users\adam\Desktop\test"):
i = i + 1
print(str(i) + ": files "+str(len(files)))
这是显而易见的
i = 0
i = i + 1
一行等于
i = 1
不要自己处理你的索引。使用enumerate
,从1开始,因为您没有使用dir部分,所以在解包时只需将其匿名化
for i,(_,_,files) in enumerate(os.walk(r"C:\Users\adam\Desktop\test"),1):
print("{} : files ".format(i,len(files)))