[Python] seek使用 bytes转int 浮点特定位数

最近用python写了个计算pcm平均RMS幅度(dBfs)的脚本,其中不少小细节在此列一下

1、python没有跟C一样拿到参数个数的argc,需要使用len(sys.argv)拿到
2、seek第一个参数为offset,第二个为偏移位置 0-file start, 1-current,2-file end
3、python一个除“/”结果为浮点,即使可以整除,“//”为取整
4、‘rb’读文件拿到的数据为bytes类型,如果要转成int需要int.from_bytes方法,可以设置大小端跟有无符合。
5、浮点特定位数打印 print(“%.2f”% num);

if len(sys.argv) != 2: #there is no ARGC
print(“param must be 2”)
exit(0)

with open(sys.argv[1], ‘rb’) as fd:
    cnt = fd.seek(0,2)#2-seek to the end
    cnt = cnt//2 #use // here, other wise cnt is a float
fd.seek(0,0) #0-seek to start
for i in range(cnt):
num = fd.read(2)
        num=int.from_bytes(num, byteorder=”little”, signed=”True”)# byte to int
total += (num*num)
dbfs=20*math.log10(math.sqrt(total/cnt)/32768)+3.013
print(“%.2f”% dbfs); #to keep 2 decimal points

胶东地区过年风俗

前几天看到山东过年磕头上了热搜,闲来没事就想大概写一下胶东地区的国内风俗。
年前几天要准备蒸馒头,就是胶东部分的大馒头,有不同的花样代表着不同的寓意。
同时也要准备一些过年的食物。

上图为前几年过年馒头

一般来说,除夕前一天要贴春联贴福字,还要挂家谱,摆上各种贡品。其中馒头是必须的,也有点心,水果等,当然除夕晚上还要摆上饺子。多年之前的贡品必须要包含一直整鸡,摆好造型放在桌子上。后来估计很多人嫌麻烦就简化了。

除夕中午是最丰盛的一顿,各家各户都会做各种有好的寓意的菜肴,包括鱼,豆腐,芹菜,海鲜等。

除夕下午女人开始包饺子,一大家子的男人会去上坟,寓意将祖先请回家过年。小时候上坟的时候还要大声喊,好让祖先听见。

晚饭主要是饺子,当然也会把中午的菜全部摆到餐桌上,也是表示富有的含义。饺子里会包上小东西,比如硬币,枣,花生,栗子,糖等,也是代表各种好的寓意。我小时候晚饭基本要等到晚上12点,后来越来越早。前几年都是看着春节晚会的开幕煮饺子,这两天开始越来越多的人改到正常晚饭点了。

饺子煮好之后要摆一些做贡品,然后放鞭炮,寓意请财神(我也不知道为啥)。都准备完了才能开始吃。

按照我们的风俗,晚饭之后,第一次见到熟人就要说‘过年好’了。晚饭之后小辈男人们要去大家子的每一户拜年,然后,给长辈磕头。跟网上不一样的是,我们不会对着人,而是每家的家谱。磕完头小朋友们就可以要压岁钱了。

小时候感觉还挺热闹,大了之后越来越觉得麻烦了。一大家子的亲属有的基本都不熟悉,去拜年会感觉很尴尬。随便寒暄几句就磕头出来了。

按照风俗,女人们初一才能出去拜年。也是一家子女人们集合,开始每家拜年,当然女人不需要磕头。把自己的大家子转完之后,一般会到邻居或者比较近的朋友家里拜年坐一会。

初二成为送年,意思是年过完了。那天也是需要包饺子,跟除夕不同的是,这次是中午吃,也是需要上贡,同时把除夕的饺子替换下来。到晚上就可以放鞭炮送年了。