背景:为了统计一个目录下所有文件名,并且写到文件中
工具:python的模块os.walk
功能:遍历目录下的所有子文件及其子文件夹,如果有子文件夹的话,会继续以子文件夹为目录递归遍历
返回:如果只有文件的话,只返回一个元组(当前目录字符串,文件夹名列表,文件名列表);如果还有文件夹的话,返回多个元组
#coding=utf-8
import os
def file_name(file_dir):
for root, dirs, files in os.walk(file_dir):
#print(root) #当前目录路径
#print(dirs) #当前路径下所有子目录
print(files) #当前路径下所有非目录子文件
return files
'''
def file_name(file_dir):
L=[]
for root, dirs, files in os.walk(file_dir):
for file in files:
if os.path.splitext(file)[1] == '.jpeg':
L.append(os.path.join(root, file))
return L
def listdir(path, list_name):
for file in os.listdir(path):
file_path = os.path.join(path, file)
if os.path.isdir(file_path):
listdir(file_path, list_name)
elif os.path.splitext(file_path)[1]=='.jpeg':
list_name.append(file_path)
mydir = r'C:\\Users\\Administrator\\Desktop\\停电\\2018'
if __name__ == '__main__':
for pathstr,dirlist,filelist in os.walk(mydir):
for file in filelist:
with open("file.txt","ab") as f:
f.write(file+'\n')
'''
mydir = r'C:\\Users\\Administrator\\Desktop\\停电\\2018'
if __name__ == '__main__':
c = file_name(mydir)
for i in c:
print(i)