1、python 获取os.path.getsize 获取文件大小,StrOfSzize用于 获取选取文件大小单位
def StrOfSize(size):'''递归实现,精确为最大单位值 + 小数点后三位'''def strofsize(integer, remainder, level):if integer >= 1024:remainder = integer % 1024integer //= 1024level += 1return strofsize(integer, remainder, level)else:return integer, remainder, levelunits = ['B', 'KB', 'MB', 'GB', 'TB', 'PB']integer, remainder, level = strofsize(size, 0, 0)if level+1 > len(units):level = -1return ( '{}.{:>03d} {}'.format(integer, remainder, units[level]) )paths = [] #存放文件夹(含子文件夹)下所有文件的路径及名称for root, dirs, files in os.walk("/content/sample_data/16"):for file in files:if file.endswith("txt"):paths.append(os.path.join(root, file)) #支持中文名称
paths.sort(key=lambda x:float((x.split('/')[-1])[:-4]))#路径排序,拓展名为wav,后三位
for i in paths:# inputdata=np.loadtxt(i)# cycles=sum(inputdata[:,1])# if cycles<150000:# print(i)SIZE=os.path.getsize(i)if SIZE>10000000:print()print(SIZE,"——",StrOfSize(os.path.getsize(datapath+"/"+i.split('/')[-1][:-4]+".wav")),StrOfSize(SIZE)," ",i)
2、正则表达式匹配文件名浮点数字
import re
print(re.search("(\d+\.\d+)","/content/zz/1366203600.298674.txt").group(0))