python 遍历文件夹子文件夹,批量生成txt
import os
import os.path
def createList(root_dir, class_list, info_name):
info = open(info_name, "w")
for class_name, label in class_list:
class_path = root_dir + "/" + class_name
for name in os.listdir(class_path):
info.write(class_path + "/" + name + "\t" + str(label) + "\n")
info.close()
if __name__ == "__main__":
#class_list = [(str(i), i) for i in range(7)] 这个是文件夹名字为 1 2等情况
#class_list = [('latin','latin')]
# class_list = [('Arabic_0','Arabic_0')]
info_name = os.getcwd()
#print info_name
#root_dir = os.getcwd()+"/Train"
root_dir = os.getcwd()+"/Test"
class_list = []
FileName = []
FileNames = os.listdir(root_dir) 这种方法文件夹名为任意值情况
ErrorFileName = 'error' #error file
print ErrorFileName
label = 0
if(len(FileNames)>0):
for fn in FileNames:
print fn
if fn != "error": 这里用于判断 error 文件夹不用批处理
FileName = [fn,label]
label = label + 1
class_list.append(FileName)
label = 0
#info_name = os.getcwd() + "/train-list.txt"
info_name = os.getcwd() + "/test-list.txt"
createList(root_dir, class_list, info_name)
# root_dir = os.getcwd() + "/Train"
# info_name = os.getcwd() + "/train-list.txt"
# createList(root_dir, class_list, info_name)
#RootDir = os.getcwd()+"/Test"
# RootDir = os.getcwd()
# for parent,dirnames,filenames in os.walk(RootDir):
# for dirname in dirnames:
# print "parent is:" + parent
# print "dirname is" + dirname
# for filename in filenames:
# print "parent is:" + parent
# print "filename is:" +filename
# print "the full name of the file is:" + os.path.join(parent,filename)
# RootDir = os.getcwd()+"/Test"
# FileList = []
# FileName = []
# FileNames = os.listdir(RootDir)
# if(len(FileNames)>0):
# for fn in FileNames:
# FileName = [fn,fn]
# FileList.append(FileName)
# print FileList
可以参考下边
import
os
def
GetFileList(
dir
, fileList):
newDir
=
dir
if
os.path.isfile(
dir
):
fileList.append(
dir
.decode(
'gbk'
))
elif
os.path.isdir(
dir
):
for
s
in
os.listdir(
dir
):
#如果需要忽略某些文件夹,使用以下代码
#if s == "xxx":
#continue
newDir
=
os.path.join(
dir
,s)
GetFileList(newDir, fileList)
return
fileList
list
=
GetFileList(
'D:\\workspace\\PyDemo\\fas'
, [])
for
e
in
list
:
print
e
转载自:https://blog.csdn.net/u014114990/article/details/50312929