程序1
```python
import os
path = 'E:/tmp_list'
def func(path):
j = 0
list_path = os.listdir(path)
for i in list_path:
full_path = os.path.join(path, i)
if os.path.isdir(full_path):
func(full_path)
else:
j += 1
print(full_path)
func(path)
print(j)
打印结果:执行到print(j)时会报错,因为j的生命周期仅存于函数体func内。
程序2
import os
path = 'E:/tmp_list'
def func(path):
j = 0
list_path = os.listdir(path)
for i in list_path:
full_path = os.path.join(path, i)
if os.path.isdir(full_path):
func(full_path)
else:
j += 1
print(full_path)
return j
j = func(path)
print(j)