一、目录结构
二、代码
import glob
dir = 'test'
samples = glob.glob(dir+'/**',recursive=True)
print(samples)
print(len(samples))
三、结果
['test\\', 'test\\1.txt', 'test\\new', 'test\\new\\2.txt', 'test\\new\\3.txt', 'test\\new\\new2', 'test\\new\\new2\\4.txt']
7
四、备注
- 只遍历当前文件夹(不递归遍历)
import glob
dir = 'test'
samples = glob.glob(dir+'/*')
print(samples)
print(len(samples))
['test\\1.txt', 'test\\new']
2
- 遍历当前文件夹下所有的.txt
import glob
dir = 'test'
samples = glob.glob(dir+'/*.txt')
print(samples)
print(len(samples))
['test\\1.txt']
1
- 遍历二级文件夹下所有的.txt
import glob
dir = 'test'
samples = glob.glob(dir+'/*/*.txt')
print(samples)
print(len(samples))
['test\\new\\2.txt', 'test\\new\\3.txt']
2
- 只要文件名
import os
import glob
dir = './test'
samples = glob.glob(dir + '/**', recursive=True)
del samples[0]
samples = list(map(os.path.basename, samples))
print(samples)
print(len(samples))
- 不调用库
dir = './test'
for file_path in os.listdir(dir):
if file_path.endswith(".txt"):
file_path = os.path.join(dir, file_path)
print(os.path.basename(file_path).rstrip(".txt"))
参考文献
- python之glob模块以及根据路径获取文件名