import os
def filelist(dir, subdir=None, filefeat=None):
'''
检索指定文件夹下的文件列表
:param dir: 检索起始根路径
:param subdir: 检索的根路径下的二级路径,默认为None
:type subdir: list
:param filefeat: 检索的文件的特征,比如filefeat='.jpg'
:return: listfile
Usage::
'''
dlen = len(dir)
dlen += 1
listdir = get_subdir(dir, subdir)
listfile = []
for d in listdir:
get_filelist(d, listfile, filefeat=filefeat)
listfile = [k[dlen:] for k in listfile]
return listfile
def get_subdir(dir, subpath):
listdir = []
if subpath is not None:
for n in subpath:
listdir.append(os.path.join(dir, n))
else:
listdir.append(dir)
return listdir
def get_filelist(dir, Filelist, filefeat=None):
'''
检索指定文件夹下的文件列表
:param dir: 检索起始根路径
:param Filelist: 结果保存成list并返回
:param filefeat: 检索的文件的特征,比如filefeat='.jpg'
:return:
Usage::
'''
flen = 0
if filefeat != None:
flen = len(filefeat)
flen *= -1
newDir = dir
if os.path.isfile(dir):
if filefeat is None:
Filelist.append(dir)
else:
if dir[flen:] == filefeat:
Filelist.append(dir)
elif os.path.isdir(dir):
for s in os.listdir(dir):
newDir = os.path.join(dir, s)
get_filelist(dir=newDir, Filelist=Filelist, filefeat=filefeat)
return Filelist
def text_save(filename, data):
file = open(filename, 'w')
st = str(data)
st = st.replace("['", "")
st = st.replace("']", "")
st = st.replace("', '", "\n")
file.write(st)
file.close()
print("保存文件成功")
if __name__ == '__main__':
sublist = ['umdfaces_batch1_alignment_rlbf',
'umdfaces_batch2_alignment_rlbf',
'umdfaces_batch3_alignment_rlbf']
filelist = filelist(dir='../data', subdir=sublist, filefeat='.pts')
print(len(filelist))
text_save("list_ptsfile.txt", filelist)
python检索文件并保存
最新推荐文章于 2023-12-18 17:06:17 发布