1、python 获取os.path.getsize 获取文件大小,StrOfSzize用于 获取选取文件大小单位
def StrOfSize(size):
'''
递归实现,精确为最大单位值 + 小数点后三位
'''
def strofsize(integer, remainder, level):
if integer >= 1024:
remainder = integer % 1024
integer //= 1024
level += 1
return strofsize(integer, remainder, level)
else:
return integer, remainder, level
units = ['B', 'KB', 'MB', 'GB', 'TB', 'PB']
integer, remainder, level = strofsize(size, 0, 0)
if level+1 > len(units):
level = -1
return ( '{}.{:>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))